Android上弃用了@SmallTest,@ MediumTest和@LargeTest

时间:2016-07-24 11:29:38

标签: android

最近在Android上弃用了这3个注释@SmallTest@MediumTest@LargeTest

但我找不到任何解释动机或提出新注释集的文档。

那么,现在有什么方法可以宣布测试的范围吗?

4 个答案:

答案 0 :(得分:20)

以前这些注释都在android.test.suitebuilder.annotation包中。自API 24开始,它们已移至android.support.test.filters包(@MediumTest已记录为here@SmallTest@LargeTest相同。

使用新版本:

  1. 请确保您在测试文件的顶部使用import android.support.test.filters.<size>Test
  2. 确保您的runnerrules版本在build.gradle文件中至少使用0.5版: androidTestCompile 'com.android.support.test:runner:0.5' androidTestCompile 'com.android.support.test:rules:0.5'

答案 1 :(得分:1)

就像克里斯所说的那样,从API 24开始,Testing Support Library移动它们(从此API开始的应用程序)

为了使用JUnit / Unit测试的注释,你必须添加:

testCompile 'com.android.support.test:runner:0.5'

在您的build.gradle文件中

并为UI / instrumentation测试添加:

androidTestCompile 'com.android.support.test:runner:0.5'

然后在您的测试类中添加一个或多个以下导入:

import android.support.test.filters.SmallTest;
import android.support.test.filters.MediumTest;
import android.support.test.filters.LargeTest;
import android.support.test.filters.FlakyTest;

答案 2 :(得分:1)

步骤1:在应用程序的build.gradle文件的dependencies内,添加:

testImplementation 'com.android.support.test:runner:1.0.2'

请注意:您必须将此行添加为testImplementation,而不是androidTestImplementation

第2步:在测试类中,添加一个或多个以下导入(根据您的需要)

import android.support.test.filters.SmallTest;
import android.support.test.filters.MediumTest;
import android.support.test.filters.LargeTest;

答案 3 :(得分:0)

androidx

的更新

第1步:在应用的build.gradle文件中,在依赖项中添加:

testImplementation 'androidx.test:runner:1.1.1'
testImplementation 'androidx.test:rules:1.1.1'

第2步:在测试类中,添加所需的导入

import androidx.test.filters.LargeTest;
import androidx.test.filters.MediumTest;
import androidx.test.filters.SmallTest;