Как проверить класс, который зависит от Provider<>
? См. Приведенный ниже код.Испытательный класс, который зависит от поставщика Guice <T>
class ToTest {
@Inject
Provider<Processor> processorProvider;
public buildData() {
processorProvider.get().process();
}
class ProcessorProviderImpl implements Provider<Processor> {
@Inject
private Handler someHandler;
public Processor get() {
return new MyProcessor(somehandler)
}
}
public static class TestModule extends JukitoModule {
@Override
protected void configureTest() {
bind(Processor.class).toProvider(
ProcessorInstanceProviderImpl.class);
bindMock(SubHandler.class).in(TestSingleton.class);
}
}
class Handler {
@Inject
private SubHandler subHandler; // this is singleton instance
}
}
Так что, когда я издеваться subHandler
это не работает, и когда я бегу модульного тестирования я получаю NullPointerException
где subHandler.handle()
становится называется.
Возможный дубликат [Что такое лучший способ использовать Guice и JMock вместе?] (Http://stackoverflow.com/questions/2044991/what-is-the-best-way -to-use-guice-and-jmock-together) –