匕首2 documentation suggests providing different configurations,使用interface
ProductionComponent
和TestComponent
进行测试和制作,具体如下:
@Component(modules = {
OAuthModule.class, // real auth
FooServiceModule.class, // real backend
OtherApplicationModule.class,
/* … */ })
interface ProductionComponent {
Server server();
}
@Component(modules = {
FakeAuthModule.class, // fake auth
FakeFooServiceModule.class, // fake backend
OtherApplicationModule.class,
/* … */})
interface TestComponent extends ProductionComponent {
FakeAuthManager fakeAuthManager();
FakeFooService fakeFooService();
}
我们假设我们有一项使用MyApp
的Android活动(ProductionComponent
):
public class MyApp extends Application {
private ProductionComponent component;
@Override public void onCreate() {
super.onCreate();
component = ProductionComponent.builder()
.serverModule(new ServerModule())
.build();
}
}
通常,在Android集成测试中使用DaggerTestComponent.builder()
而不是ProductionComponent.builder()
的最佳方式是什么?
我不确定如何使用假货;我应该在/androidTest
中extends MyApp
开展一项新活动吗?或者我应该在设置测试时使用getter / setter将新DaggerTestComponent
传入MyApp
?
答案 0 :(得分:0)
如何将robolectric与Mockito一起使用?
您可以在没有AndroidTest的情况下使用@Test制作JUnit测试代码。 我想你和Mockito一起制作测试匕首。
这里引用
http://alexzh.com/tutorials/android-testing-mockito-robolectric/ http://sdudzin.blogspot.kr/2011/01/easy-unit-testing-for-android.html