我是 Android 新手,我已经看到使用这些注释的示例代码。例如:
@SmallTest
public void testStuff() {
TouchUtils.tapView(this, anEditTextView);
sendKeys("H E L P SPACE M E PERIOD");
assertEquals("help me.", anEditTextView.getText().toString());
}
该注释完成了什么?
我是 Android 新手,我已经看到使用这些注释的示例代码。例如:
@SmallTest
public void testStuff() {
TouchUtils.tapView(this, anEditTextView);
sendKeys("H E L P SPACE M E PERIOD");
assertEquals("help me.", anEditTextView.getText().toString());
}
该注释完成了什么?
这篇博文解释得最好。基本上,它是以下内容:
根据Android 开发者博客,小型测试应该 < 100 毫秒,中型测试 < 2 秒,大型测试应该 < 120 秒。
有关如何指定运行哪些测试的信息,请参阅此页面(搜索“@SmallTest”)。
作为对Davidann 的回答以及评论中主要是OP 的问题的补充:
在上述代码的上下文中,除了给其他开发人员留下注释之外,它实际上是否做任何事情?它执行什么吗?有没有利用这个注释的工具?它在 Android 开发中的目的是什么?
您可以运行一组带有特定注释的测试。
运行特定的测试大小,即使用SmallTest或MediumTest或LargeTest注释:
adb shell am instrument -w -e size [small|medium|large] com.android.foo/android.support.test.runner.AndroidJUnitRunner
您还可以通过 gradle 设置这些参数:
android {
...
defaultConfig {
...
testInstrumentationRunnerArgument 'size', 'Large'
}
}
通过梯度:
-Pandroid.testInstrumentationRunnerArguments.size=small
有关更多详细信息,请参阅Doug Stevenson 博客文章以及此博客文章。
您还可以通过定义自己的类别@Category(MediumTest.class)
来使用or等注释 POJO 单元测试- 请参阅test-categories存储库以获取示例@Category(LargeTest.class)