gpt4 book ai didi

android - 如何在 Android 中使用多个自定义测试运行程序?

转载 作者:太空狗 更新时间:2023-10-29 13:07:23 24 4
gpt4 key购买 nike

我正在覆盖 Dagger 2 组件以模拟 Android 中的依赖项。为此,我使用自定义 JUnit TestRunners。

似乎在我的 app/build.gradle 中我只能设置一个 testRunner。

defaultConfig {
applicationId 'com.xxx.xxx'
minSdkVersion 18
targetSdkVersion 23
versionCode 1
versionName '1.0.0'

testInstrumentationRunner 'com.xxx.xxx.DgMockTestRunner'
}

如何设置多个测试运行器?我希望我编写的每个测试类都有一个单独的 TestRunner?

最佳答案

您可以使用 @RunWith测试类中的注释以指定测试运行器类:

@RunWith(FooTestRunner.class)
public class TestFoo {
@Before
public void setUp();
}

但是,通常您可以使用 JUnit rules 完成您想做的事情.比如下面的DaggerMock rule 使用 MyModule 实例化一个新的 MyComponent 并将其设置为应用程序中的根组件:

@Rule public DaggerMockRule<MyComponent> daggerRule = new DaggerMockRule<>(MyComponent.class, new MyModule())
.set(new DaggerMockRule.ComponentSetter<MyComponent>() {
@Override public void setComponent(MyComponent component) {
App app = (App) InstrumentationRegistry.getInstrumentation().getTargetContext().getApplicationContext();
app.setComponent(component);
}
});

关于android - 如何在 Android 中使用多个自定义测试运行程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45954821/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com