我为Android应用编写单元测试(JUnit
,Espresso
)。
我想测试Activity
中任何方法的执行持续时间。如果持续时间超过1秒,我的测试必须失败。
是否可以在Android
?
答案 0 :(得分:1)
以下是一个例子:
private long durationTest() {
long timeBeforeExecution = System.currentTimeMillis();
someMethod();
return System.currentTimeMillis() - timeBeforeExecution; // difference in millis
}
private void someMethod() {
...
}
答案 1 :(得分:0)
是的,你可以这样做,虽然很难预测实际的执行时间,因为它取决于很多因素。使用JUnit,您可以执行以下操作:
@Test(timeout=1000) //milliseconds
public void performanceTest() {
//my code
}
如果未在1000毫秒内执行此测试将失败,并且将传递任何其他值。
使用espresso测试我相信你可以调整超时规则,但我不知道这对你有什么帮助。 UI测试依赖于很多东西,“按下”按钮需要多长时间,网络响应,其他具有自己时间管理并依赖于其他因素的线程。无论如何请检查:
答案 2 :(得分:0)
long startTime = System.currentTimeMillis();
// here code to be time measured
Log.i ("Execution time ", "milliseconds : " + System.currentTimeMillis() - startTime);