每次测试执行后junit进入下一个测试。活动在每次测试执行后自动关闭。测试执行后冻结android junit测试
它可以当我测试功能,但不是当我测试视图。我想在junit执行下一个测试之前在屏幕上看到执行结果。
所以,我想在测试之间做出很小的延迟。
有一个方法可以让我做到这一点:
public void testMyView() throws InterruptedException {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
// viewOperations...
}
});
Thread.sleep(3000);
}
但我不喜欢这种方式,因为这个代码是脏的(尤其是当我有很多这样的测试)。
另一种方式似乎更好:
@UiThreadTest
public void testHandleEmptyAlphabetList() throws InterruptedException {
// view operations
Thread.sleep(3000);
}
但是:它会阻塞UI线程,但没有测试线程。我需要阻止一个测试线程。
有没有什么办法可以在测试线程中单独运行Thread.sleep(3000);
?
那么,什么是测试之间的线程延迟的最佳方式是什么?
p.s.请不要推荐我额外的测试框架,我想用嵌入工具解决我的问题。谢谢。
尝试覆盖tearDown()方法并将'Thread.sleep(3000);'放在这里。 – yorkw