Android系统。如何测试持续时间执行方法?

时间:2017-03-31 09:20:13

标签: android

我为Android应用编写单元测试(JUnitEspresso)。

我想测试Activity中任何方法的执行持续时间。如果持续时间超过1秒,我的测试必须失败。

是否可以在Android

3 个答案:

答案 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测试依赖于很多东西,“按下”按钮需要多长时间,网络响应,其他具有自己时间管理并依赖于其他因素的线程。无论如何请检查:

Android Doc

答案 2 :(得分:0)

long startTime = System.currentTimeMillis();

// here code to be time measured

Log.i ("Execution time ", "milliseconds : " + System.currentTimeMillis() - startTime);