大家好,笑笑來為大家解答以上問題。instrumented sticks,instrumented很多人還不知道,現(xiàn)在讓我們一起來看看吧!
1、 設(shè)置測試環(huán)境
2、 在你的安卓開發(fā)環(huán)境項目中,你必須將模擬的測試的源文件存儲在模塊名稱/src/androidTest/java/中。創(chuàng)建新項目時該目錄已經(jīng)存在,并包含示例代碼。
3、 在開始之前,你應(yīng)該下載機器人測試支持庫安裝程序,該安裝程序提供的應(yīng)用程序接口可讓你快速構(gòu)建和運行應(yīng)用程序的檢測代碼。測試支持庫包括用于功能性用戶界面測試(濃縮咖啡和用戶界面自動機)的JUnit 4測試運行器(AndroidJUnitRunner)和API。
4、 還需要為項目配置機器人測試依賴項,以使用測試運行程序和測試支持庫提供的規(guī)則API。為了簡化測試開發(fā),還應(yīng)該包含哈姆克雷斯特庫,它可以讓你使用哈姆克雷斯特匹配器應(yīng)用程序接口創(chuàng)建更靈活的斷言。
5、 在你的應(yīng)用的頂級build.gradle文件中將這些庫指定為依賴項:
6、 依賴關(guān)系{
7、 Android測試編譯。安卓。支持:支持-注釋:24。0 .0 ' Android測試編譯' com。安卓。支持。測試: runner :0.5 ' Android測試編譯' com。安卓。支持。測試3360規(guī)則:0.5 '//Optional-ham crest庫Android測試編譯' org?;鹜燃y章:火腿紋章-圖書館:1.3 '//可選-使用Espresso androidTestCompile進行用戶界面測試
8、 警告:如果構(gòu)建配置包含支持-注釋庫的編譯依賴項和濃縮咖啡核心庫的機器人測試編譯依賴項,則由于依賴沖突,構(gòu)建可能會失敗。請按照下面步驟更新對濃縮咖啡核心的依賴關(guān)系:
9、 androidTestCompile(' com。安卓。支持。測試。濃縮咖啡:濃縮咖啡核心:2。2 .2 ',{
10、 排除group: 'com.android.support ',模塊: ' support-annotations ' })
11、 要使用JUnit 4測試類,請確保將安卓朱尼特納指定為項目中的默認測試工具運行器,方法是在應(yīng)用程序的模塊級build.gradle文件中包含以下設(shè)置:
12、 android {
13、 defaultConfig {
14、 testInstrumentationRunner ' Android。支持。測試。奔跑者。androidjunitrunner ' }
15、 }
16、 創(chuàng)建一個給…裝備測量儀器的單元測試類
17、 你的給…裝備測量儀器單元測試類應(yīng)該寫成JUnit 4測試類。要了解有關(guān)創(chuàng)建JUnit 4測試類和使用JUnit 4斷言和注釋的更多信息,請參閱創(chuàng)建本地單元測試類。
18、 要創(chuàng)建一個給…裝備測量儀器的JUnit 4測試類,在測試類定義的開頭添加@RunWith(AndroidJUnit4.class)注釋。還需要將機器人測試支持庫中提供的安卓朱尼特納類指定為默認測試運行器。
19、 以下示例顯示如何編寫一個給…裝備測量儀器單元測試,以確保日志歷史類正確實現(xiàn)了可包裝的接口:
20、 導入安卓。OS。包裹;
21、 導入安卓。支持。測試。奔跑者。安卓JUnit 4;
22、 導入安卓。util。配對;
23、 導入org。朱尼特。測試;
24、 導入org。朱尼特。奔跑者。與.一起跑;
25、 導入Java。util。列表;
26、 導入靜態(tài)org?;鹜燃y章?;鸩袢?。是;導入靜態(tài)org。朱尼特。斷言。斷言;
27、 @RunWith(AndroidJUnit4.class)
28、 @小型測試
29、 公共類LogHistoryAndroidUnitT est {
30、 公共統(tǒng)計
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、創(chuàng)建一個測試套件
51、要組織測試單元測試的執(zhí)行,可以將一組測試集合在一個測試套件類中,并將這些測試一起運行。測試套件可以嵌套; 測試套件可以將其他測試套件分組,并將所有組件測試類一起運行。
52、測試套件包含在測試包中,類似于主應(yīng)用程序包。按照慣例,測試套件包名通常以.suite后綴結(jié)尾(例如,com.example.android.testing.mysample.suite)。
53、以下示例顯示了如何實現(xiàn)名為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/)中的測試代碼,構(gòu)建測試APK和生產(chǎn)APK,在連接的真機或模擬器上安裝兩個APK,并運行測試。Android Studio然后在“Run”窗口中顯示測試執(zhí)行結(jié)果。
70、注意:在運行或調(diào)試測試工具時,Android Studio不會為即時運行注入所需的額外方法,并關(guān)閉該特性。
本文到此結(jié)束,希望對大家有所幫助。
標簽:
免責聲明:本文由用戶上傳,如有侵權(quán)請聯(lián)系刪除!