这3和注释@SmallTest,@MediumTest以及@LargeTest最近被弃用Android上.
但我找不到任何解释动机或提出新注释集的文档.
那么,现在有什么方法可以宣布测试的范围吗?
Chr*_*acy 24
以前这些注释都在android.test.suitebuilder.annotation包中.从API 24开始,它们被移动到android.support.test.filters包中(此处记录为@MediumTest.@SmallTest并且@LargeTest是相同的).
要使用新版本:
import android.support.test.filters.<size>Test测试文件的顶部使用.runner和rules版本在build.gradle文件中至少使用0.5版:
androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support.test:rules:0.5'
androidx 更新
应用程序中声明的依赖项build.gradle:
androidTestImplementation 'androidx.test:runner:1.2.0'
然后导入看起来像:
import androidx.test.filters.SmallTest;
import androidx.test.filters.MediumTest;
import androidx.test.filters.LargeTest;
import androidx.test.filters.FlakyTest;
Run Code Online (Sandbox Code Playgroud)
原答案:
就像 Chris 所说,它们从 API 24 开始在测试支持库中移动(针对此 API 的应用程序)
为了使用 JUnit/Unit 测试的注释,您必须添加:
testImplementation 'com.android.support.test:runner:0.5'
Run Code Online (Sandbox Code Playgroud)
在你的build.gradle文件中
对于 UI/仪器测试添加:
androidTestImplementation 'com.android.support.test:runner:0.5'
Run Code Online (Sandbox Code Playgroud)
然后在您的测试类中添加一个/多个以下导入:
import android.support.test.filters.SmallTest;
import android.support.test.filters.MediumTest;
import android.support.test.filters.LargeTest;
import android.support.test.filters.FlakyTest;
Run Code Online (Sandbox Code Playgroud)
androidx更新
第 1 步:在应用程序的 build.gradle 文件中,在依赖项内添加:
testImplementation 'androidx.test:runner:1.1.1'
testImplementation 'androidx.test:rules:1.1.1'
Run Code Online (Sandbox Code Playgroud)
第 2 步:在您的测试类中,添加所需的导入
import androidx.test.filters.LargeTest;
import androidx.test.filters.MediumTest;
import androidx.test.filters.SmallTest;
Run Code Online (Sandbox Code Playgroud)