我被困住了,很高兴得到任何帮助!
我正在为一个 android 库编写测试。任务是在活动中进行一些操作并检查库是否正确响应。我的问题是,我的测试在活动中的所有操作完成后就完成了,但是我通过回调获得了测试结果(只有在测试结束时我才会收到这个回调)。所以,我想以某种方式告诉测试框架,直到收到回调(或直到时间用完),测试才结束。这是我现在拥有的:
@Test
public void testSimpleSetup() {
/* ... */
InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {
@Override
public void run() {
testManager.startTest(MAX_WAIT_TIME); // this object calls onTestResult(boolean) after time t (t <= MAX_WAIT_TIME)
/* working with activity here */
}
});
InstrumentationRegistry.getInstrumentation().waitForIdleSync();
}
@Override
public void onTestResult(boolean passed) {
// assertTrue(passed);
Assert.fail();
}
我预计这个测试会失败,但实际上onTestResult
是在testSimpleSetup
完成后调用,并且 Assert 对测试结果没有影响。
提前致谢。