在所有junit测试之前运行一次性异步回调
我想在运行所有测试之前调用一些方法。 库提供初始化它准备设备的使用方法:在所有junit测试之前运行一次性异步回调
SomeLibraryInitializer.init(new SomeLibraryInitializer.Callback() { @Override
public void onFinish() {
}
});
库准备就绪时onFinish被称为使用。
不能模拟库类(proguard在使用),所以我必须使用该初始化程序为我的JUnit tests
。
有什么办法可以等到回调onFinish()
被调用?
与ShadowApplication.runBackgroundTasks();
和Semaphore一起尝试,但似乎没有工作。 我使用@BeforeClass
注释在所有测试之前运行它。
回答:
你需要的是扩大AndroidJUnitRunner,然后将其诠释build.gradle
文件中像
android { defaultConfig {
testInstrumentationRunner "com.example.MyTestRunner"
}
}
编辑
如果你看一下source你会看到onCreate
方法被调用一次。你想要做的是不支持这种方法,并添加你自己的逻辑。然后当你完成后,你应该打电话start()
方法。
以上是 在所有junit测试之前运行一次性异步回调 的全部内容, 来源链接: utcz.com/qa/263231.html