大家好,笑笑来为大家解答以上问题。instrumented sticks,instrumented很多人还不知道,现在让我们一起来看看吧!
1、 设置测试环境
2、 在你的安卓开发环境项目中,你必须将模拟的测试的源文件存储在模块名称/src/androidTest/java/中。创建新项目时该目录已经存在,并包含示例代码。
3、 在开始之前,你应该下载机器人测试支持库安装程序,该安装程序提供的应用程序接口可让你快速构建和运行应用程序的检测代码。测试支持库包括用于功能性用户界面测试(浓缩咖啡和用户界面自动机)的JUnit 4测试运行器(AndroidJUnitRunner)和API。
4、 还需要为项目配置机器人测试依赖项,以使用测试运行程序和测试支持库提供的规则API。为了简化测试开发,还应该包含哈姆克雷斯特库,它可以让你使用哈姆克雷斯特匹配器应用程序接口创建更灵活的断言。
5、 在你的应用的顶级build.gradle文件中将这些库指定为依赖项:
6、 依赖关系{
7、 Android测试编译。安卓。支持:支持-注释:24。0 .0 ' Android测试编译' com。安卓。支持。测试: runner :0.5 ' Android测试编译' com。安卓。支持。测试3360规则:0.5 '//Optional-ham crest库Android测试编译' org。火腿纹章:火腿纹章-图书馆:1.3 '//可选-使用Espresso androidTestCompile进行用户界面测试
8、 警告:如果构建配置包含支持-注释库的编译依赖项和浓缩咖啡核心库的机器人测试编译依赖项,则由于依赖冲突,构建可能会失败。请按照下面步骤更新对浓缩咖啡核心的依赖关系:
9、 androidTestCompile(' com。安卓。支持。测试。浓缩咖啡:浓缩咖啡核心:2。2 .2 ',{
10、 排除group: 'com.android.support ',模块: ' support-annotations ' })
11、 要使用JUnit 4测试类,请确保将安卓朱尼特纳指定为项目中的默认测试工具运行器,方法是在应用程序的模块级build.gradle文件中包含以下设置:
12、 android {
13、 defaultConfig {
14、 testInstrumentationRunner ' Android。支持。测试。奔跑者。androidjunitrunner ' }
15、 }
16、 创建一个给…装备测量仪器的单元测试类
17、 你的给…装备测量仪器单元测试类应该写成JUnit 4测试类。要了解有关创建JUnit 4测试类和使用JUnit 4断言和注释的更多信息,请参阅创建本地单元测试类。
18、 要创建一个给…装备测量仪器的JUnit 4测试类,在测试类定义的开头添加@RunWith(AndroidJUnit4.class)注释。还需要将机器人测试支持库中提供的安卓朱尼特纳类指定为默认测试运行器。
19、 以下示例显示如何编写一个给…装备测量仪器单元测试,以确保日志历史类正确实现了可包装的接口:
20、 导入安卓。OS。包裹;
21、 导入安卓。支持。测试。奔跑者。安卓JUnit 4;
22、 导入安卓。util。配对;
23、 导入org。朱尼特。测试;
24、 导入org。朱尼特。奔跑者。与.一起跑;
25、 导入Java。util。列表;
26、 导入静态org。火腿纹章。火柴人。是;导入静态org。朱尼特。断言。断言;
27、 @RunWith(AndroidJUnit4.class)
28、 @小型测试
29、 公共类LogHistoryAndroidUnitT est {
30、 公共统计
31、 private LogHistory mLogHistory;
32、 @Before
33、 public void createLogHistory() {
34、 mLogHistory = new LogHistory(); }
35、@Test public void logHistory_ParcelableWriteRead() {
36、 // Set up the Parcelable object to send and receive.
37、 mLogHistory.addEntry(TEST_STRING, TEST_LONG);
38、 // Write the data.
39、 Parcel parcel = Parcel.obtain();
40、 mLogHistory.writeToParcel(parcel, mLogHistory.describeContents());
41、// After you're done with writing, you need to reset the parcel for reading.
42、 parcel.setDataPosition(0);
43、 // Read the data.
44、 LogHistory createdFromParcel = LogHistory.CREATOR.createFromParcel(parcel);
45、 List<Pair<String, Long>> createdFromParcelData = createdFromParcel.getData();
46、 // Verify that the received data is correct.
47、 assertThat(createdFromParcelData.size(), is(1));
48、 assertThat(createdFromParcelData.get(0).first, is(TEST_STRING));
49、 assertThat(createdFromParcelData.get(0).second, is(TEST_LONG)); } }
50、创建一个测试套件
51、要组织测试单元测试的执行,可以将一组测试集合在一个测试套件类中,并将这些测试一起运行。测试套件可以嵌套; 测试套件可以将其他测试套件分组,并将所有组件测试类一起运行。
52、测试套件包含在测试包中,类似于主应用程序包。按照惯例,测试套件包名通常以.suite后缀结尾(例如,com.example.android.testing.mysample.suite)。
53、以下示例显示了如何实现名为UnitTestSuite的测试套件,该测试套件将CalculatorInstrumentationTest和CalculatorAddParameterizedTest测试类分组并运行在一起。
54、import com.example.android.testing.mysample.CalculatorAddParameterizedTest;
55、import com.example.android.testing.mysample.CalculatorInstrumentationTest;
56、import org.junit.runner.RunWith;
57、import org.junit.runners.Suite;
58、// Runs all unit tests.
59、@RunWith(Suite.class)
60、@Suite.SuiteClasses({CalculatorInstrumentationTest.class,
61、 CalculatorAddParameterizedTest.class})public class UnitTestSuite {}
62、运行Instrumented单元测试
63、要运行Instrumented测试,请遵循以下步骤:
64、1、通过单击工具栏中的“Sync Project”,确保您的项目与Gradle同步。。
65、2、以下列其中一种方式运行测试:
66、要运行单个测试请打开Project窗口,然后单击“Run”。
67、要测试类中的所有方法,请右键单击测试文件中的类或方法,然后单击“Run”。
68、要在目录中运行所有测试,请右键单击该目录并选择“Run Tests”。
69、Gradle的Android插件编译位于默认目录(src/androidTest/java/)中的测试代码,构建测试APK和生产APK,在连接的真机或模拟器上安装两个APK,并运行测试。Android Studio然后在“Run”窗口中显示测试执行结果。
70、注意:在运行或调试测试工具时,Android Studio不会为即时运行注入所需的额外方法,并关闭该特性。
本文到此结束,希望对大家有所帮助。
标签:
免责声明:本文由用户上传,如有侵权请联系删除!