仅供参考,我正在使用mockito和testng
我知道如何使用 @Bind
模仿我的外部依赖。
这里我有一个模块(比如 Foo
)哪个有 install(new Bar());
在 configure
方法。
我可以在foo中绑定各种外部依赖项,但我不知道如何处理bar中的事情。
(例如)
public class FooTest {
@Bind
@Mock
SomeExternalDependency1 someExternalDependency1;
@Bind
@Mock
SomeExternalDependency2 someExternalDependency2;
@BeforeClass
public void setup() {
MockitoAnnotations.initiMocks(this);
injector = Guice.createInjector(Modules.override(new Foo())with(
new TestFooModule()), BoundFieldModule.of(this));
injector.injectMembers(this);
}
@Test
public void testSomething() {
//asssert something here
}
static class TestFooModule extends AbstractModule {
@Override
protected void configure() { }
}
但是当我运行这个测试时,它会抱怨 Bar
.
如何在不示例化bar模块的情况下测试foo模块?
对于没有安装“子”模块的模块,这种测试工作正常。
1条答案
按热度按时间z3yyvxxp1#
我需要这么做
bind
@provides from条位于TestFooModule
. 解决了我的问题。