成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

IDEA 單元測試創建方法詳解(2020.03版本親測)

瀏覽:4日期:2024-08-09 15:53:34

IntelliJ IDEA創建單元測試

在 Android 中,單元測試基于 JUnit,JUnit 的平面使用足以測試完全基于 Java 代碼的功能。

但是,為了測試 Android 特定的功能,您需要一堆構建在 JUnit 之上的包裝類。IntelliJ IDEA 簡化了 Android 測試項目構建過程中的大部分任務。

1.確保你的代碼是可測試的

單元測試要求源代碼的編寫方式使得模塊之間的依賴關系可以很容易地通過模仿來消除。另外,單元測試要求功能相互隔離。

因為這個 HelloDroid 類的代碼不容易測試。在進行單元測試之前,我們首先應用一個快速重構。

打開 HelloDroid 類,并選擇 TapDroid 方法中引用顯示消息的生成的代碼部分:

IDEA 單元測試創建方法詳解(2020.03版本親測)

以這種方式重寫該 TapDroid 方法,以便它調用新創建的公共幫助方法(GetStringFor Display),如下所示:

private void TapDroid() {counter++;String temp = getStringForDisplay(counter);message.setText(String.format('You touched the droid %s', temp));}public String getStringForDisplay(int count) {String temp;switch(count){case 1:temp = 'once';break;case 2:temp = 'twice';break;default:temp = String.format('%d times', count);}return temp;}

該 getStringForDisplay 方法現在更容易測試,并且該 TapDroid 方法的主體已經大大簡化。

2.創建一個測試模塊

現在讓我們創建一個新的測試模塊并設置 HelloDroid 為測試模塊。這可確保測試模塊在包含要測試的源代碼的模塊上保存一個引用。

從主菜單中,選擇:文件| 新增| 模塊(File | New | Module)來啟動“新建模塊向導(New Module wizard)”。

在向導的第一頁上,在左窗格中選擇 Android,然后在右側選擇 Test Module:

IDEA 單元測試創建方法詳解(2020.03版本親測)

在第二頁上,指定新的模塊名稱,例如 Tests。保持其他字段不變。該 HelloDroid 模塊被自動指定為測試模塊,因為在這一點上,這是該項目中唯一的模塊。

IDEA 單元測試創建方法詳解(2020.03版本親測)

一個新節點將被添加到名為 Tests 的項目中。這個模塊有它自己的 manifest 文件和和 src 目錄。該 manifest 文件鏈接到 android.test 庫以構建測試類。

IDEA 單元測試創建方法詳解(2020.03版本親測)

新創建的模塊具有在 src 文件夾中命名的 HelloDroidTest 測試文件。您可以通過添加更多的 Java 類來添加更多的測試文件,如下所示:

public class HelloDroidTest extends ActivityInstrumentationTestCase2<HelloDroid> {public HelloDroidTest() {super('com.example.HelloDroid', HelloDroid.class);}}

測試類繼承自 ActivityInstrumentationTestCase2,其中 T 就是你要測試的活動的名稱。

請注意,添加構造函數是必需的,因為沒有為父類定義默認構造函數。

3.添加一個測試方法

在編輯器中,右鍵單擊 HelloDroid 測試類并單擊“生成(Generate)”(或者單擊 Alt+Insert)。在打開的彈出菜單中,選擇“測試方法(Test Method)”:

IDEA 單元測試創建方法詳解(2020.03版本親測)

IntelliJ IDEA 創建一個名為 testName 的新的方法存根,您可以輕松地將 Name 后綴更改為上下文中更有意義的內容:

IDEA 單元測試創建方法詳解(2020.03版本親測)

如果您使用 JUnit 3(Android 中的默認測試框架),則方法名稱中 test 的前綴是必需的;使用 JUnit 4,您必須使用方法名稱注釋來指示給定的方法必須作為測試方法進行處理。

4.編寫測試方法的邏輯

在內部,測試方法首先獲取對其正在嘗試測試的活動的引用,然后調用目標方法,最后將有效結果與預期結果進行比較。

將下面的代碼添加到測試方法中:

public void testStringForDisplay() throws Exception {int count = 1;HelloDroid activity = getActivity();String result = activity.getStringForDisplay(count);Assert.assertEquals(result, 'once');}

斷言是通過 JUnit 框架的服務實現的,需要在源文件中正確引用。當意圖動作彈出來引用它時按下 Alt+Enter:

IDEA 單元測試創建方法詳解(2020.03版本親測)

5.為測試創建一個運行/調試配置

為了運行測試,您需要創建專用的運行/調試配置。設置測試模塊時會自動為您創建默認配置。

要編輯其設置,請在主菜單中選擇:運行| 編輯配置(Run | Edit Configurations)并在左側窗格中選擇:“Android測試(Android Tests)”下的“測試(Tests)”:

IDEA 單元測試創建方法詳解(2020.03版本親測)

您可以選擇在模塊中運行所有測試,也可以將測試限制為給定類中的方法。

6.運行測試

要運行測試,請確保在編輯器右上角的下拉列表中選擇適當的運行/調試配置,然后單擊其旁邊的運行按鈕 IDEA 單元測試創建方法詳解(2020.03版本親測)

IDEA 單元測試創建方法詳解(2020.03版本親測)

測試結果顯示在自動激活的“運行(Run)”工具窗口的 Test Runner 標簽中。如果測試成功完成,則編輯器右上角會出現一個綠色方形圖標。如果有警告,圖標是黃色的;如果測試失敗,則是紅色的。您可以點擊圖標獲取更多詳細信息。

您可以通過單擊 “測試(Tests)”選項卡工具欄中的“導出測試結果(Export Test Results)”圖標 IDEA 單元測試創建方法詳解(2020.03版本親測),將測試報告導出為各種格式。

到此這篇關于IDEA 單元測試創建方法詳解(2020.03版本親測)的文章就介紹到這了,更多相關IDEA 單元測試創建內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: IDEA
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
久久国内精品视频| 麻豆国产一区二区| 亚洲一二三专区| av动漫一区二区| 欧美精品久久99久久在免费线| 亚洲综合激情网| 在线国产精品一区| 日韩欧美第一区| 精品影视av免费| 色偷偷成人一区二区三区91| 亚洲精品成a人| 国产精品av久久久久久麻豆网| 日韩欧美另类在线| 美国毛片一区二区三区| 欧美一区=区| 亚洲第一二三四区| 99国产精品私拍| 亚洲欧美另类久久久精品2019| 91最新地址在线播放| 欧美一卡2卡3卡4卡| 九九**精品视频免费播放| 日本韩国欧美一区二区三区| 亚洲品质自拍视频| 欧美日本国产精品| 国产欧美一区二区精品性色| 不卡一区二区中文字幕| 91精品欧美一区二区三区综合在| 五月婷婷综合在线| 噜噜噜在线观看免费视频日韩| 亚洲综合男人的天堂| 夜久久久久久| 亚洲国产中文字幕在线视频综合 | 成年人国产精品| 日韩一级高清毛片| 国产一区二区三区av电影| 欧美日韩激情一区二区三区| 加勒比av一区二区| 欧美高清www午色夜在线视频| 久久99久久99小草精品免视看| 在线观看日韩精品| 奇米一区二区三区| 日本精品一区二区三区高清 | 91精品国产黑色紧身裤美女| 激情五月婷婷综合网| 欧美亚洲一区二区在线| 久久成人av少妇免费| 色婷婷香蕉在线一区二区| 视频一区视频二区中文字幕| 色噜噜狠狠一区二区三区果冻| 日本麻豆一区二区三区视频| 欧美美女喷水视频| 国产91丝袜在线播放| 日韩欧美123| 99精品热视频| 国产精品视频线看| 日韩亚洲国产欧美| 亚洲不卡av一区二区三区| 在线免费不卡视频| 精品中文字幕一区二区| 欧美日韩日本视频| 成熟亚洲日本毛茸茸凸凹| 精品福利av导航| 狠狠综合久久av一区二区老牛| 亚洲最大成人综合| 色综合久久久久综合体| 青青草原综合久久大伊人精品优势| 欧美色视频一区| 国产一区二区伦理片| 精品理论电影在线观看 | 日韩欧美一级特黄在线播放| 成人黄色一级视频| 国产欧美日本一区视频| 亚洲精品偷拍| 日韩不卡一区二区| 日韩一区二区三区免费观看| 欧美日韩一区二区三区在线视频| 亚洲一区二区欧美日韩| 欧美视频中文一区二区三区在线观看| 成人中文字幕电影| 亚洲欧洲日韩一区二区三区| 久久亚洲影院| 国产精品18久久久久久vr| 国产亚洲欧美日韩俺去了| 99一区二区| 精品一区二区三区影院在线午夜| 欧美大白屁股肥臀xxxxxx| 国产精品国产三级欧美二区| 视频在线观看国产精品| 日韩欧美一卡二卡| 亚洲三级毛片| 裸体健美xxxx欧美裸体表演| 精品久久久久久久久久久久久久久久久| 国内一区二区三区| 免费在线观看视频一区| 久久久久久夜精品精品免费| 99在线|亚洲一区二区| 狠狠色综合播放一区二区| 日本一区二区三区dvd视频在线| 欧美亚洲专区| 成人黄色一级视频| 亚洲国产欧美在线| 日韩一级完整毛片| 中国女人久久久| 东方欧美亚洲色图在线| 一区二区三区欧美在线观看| 欧美日韩黄色影视| 欧美日韩视频在线一区二区观看视频 | 亚洲高清在线视频| 欧美成人video| 久久青青草综合| 不卡一区二区在线| 日韩国产高清在线| 中文在线免费一区三区高中清不卡| 欧美性大战久久| 合欧美一区二区三区| 免费高清在线视频一区·| 日本一区二区三区在线不卡| 欧美综合色免费| 欧美日韩国产综合视频在线| 久久99精品久久久久婷婷| 亚洲欧洲精品一区二区三区| 欧美电影一区二区| 一本色道久久综合亚洲精品不| 成人免费视频一区| 亚洲二区在线观看| 精品久久久久久久久久久久久久久| 色域天天综合网| 93久久精品日日躁夜夜躁欧美| 日产欧产美韩系列久久99| 国产日韩精品久久久| 欧美午夜电影在线播放| 亚洲激情不卡| 岛国精品一区二区| 亚洲综合在线电影| 中文子幕无线码一区tr| 日韩视频中午一区| 母乳一区在线观看| 欧美激情一区| 国产激情一区二区三区| 性做久久久久久久久| 亚洲国产成人一区二区三区| 日韩精品电影一区亚洲| 日韩午夜电影在线观看| 日本最新不卡在线| 午夜精品短视频| 国产综合自拍| 国产精品另类一区| 91精品婷婷国产综合久久性色| 91在线视频免费观看| 亚洲精品国产一区二区精华液| 精品嫩草影院久久| 欧美视频自拍偷拍| 销魂美女一区二区三区视频在线| 午夜精品短视频| 成人美女视频在线看| 日韩综合小视频| 亚洲欧美日韩一区二区三区在线观看| 日韩视频中午一区| 久久这里有精品15一区二区三区| 影音先锋久久| 欧美a级在线| 久久99热99| 国产精品理论片在线观看| 亚洲国产精品毛片| 中文字幕一区视频| 欧美日韩亚洲三区| 久久亚洲午夜电影| 亚洲伦理在线免费看| 激情六月婷婷久久| 国产精品v欧美精品v日韩| 色综合天天综合| 国产无人区一区二区三区| 国产成人午夜精品影院观看视频| 欧美私人免费视频| 日本一区二区免费在线| 成人手机在线视频| 色悠悠久久综合| 欧美视频导航| 91在线porny国产在线看| 久久99这里只有精品| 午夜精品一区二区三区三上悠亚| 亚洲视频精选在线| 国产精品国产三级国产普通话蜜臀| 久久精品视频在线免费观看| 欧美zozo另类异族| 91精品国产91热久久久做人人| 欧美三级日本三级少妇99| 欧美午夜精品理论片a级按摩| 91久久人澡人人添人人爽欧美 | 日本精品免费观看高清观看| 一本大道av一区二区在线播放| 亚洲一区二区在| 在线免费观看欧美| 国产精品黄色| 欧美精选在线| 91免费在线视频观看| 99久精品国产| 91在线porny国产在线看| 成人av在线一区二区三区| 精品在线播放免费|