电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

瀏覽:7日期: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
相關文章:
主站蜘蛛池模板: 艺术涂料_进口艺术涂料_艺术涂料加盟_艺术涂料十大品牌 -英国蒙太奇艺术涂料 | 云南丰泰挖掘机修理厂-挖掘机维修,翻新,再制造的大型企业-云南丰泰工程机械维修有限公司 | 布袋除尘器-单机除尘器-脉冲除尘器-泊头市兴天环保设备有限公司 布袋除尘器|除尘器设备|除尘布袋|除尘设备_诺和环保设备 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 电子书导航网_电子书之家_电子书大全_最新电子书分享发布平台 | 耐磨焊丝,堆焊焊丝,耐磨药芯焊丝,碳化钨焊丝-北京耐默公司 | 上海皓越真空设备有限公司官网-真空炉-真空热压烧结炉-sps放电等离子烧结炉 | 车间除尘设备,VOCs废气处理,工业涂装流水线,伸缩式喷漆房,自动喷砂房,沸石转轮浓缩吸附,机器人喷粉线-山东创杰智慧 | 沈阳真空机_沈阳真空包装机_沈阳大米真空包装机-沈阳海鹞真空包装机械有限公司 | 耐磨陶瓷,耐磨陶瓷管道_厂家-淄博拓创陶瓷科技 | 气动调节阀,电动调节阀,自力式压力调节阀,切断阀「厂家」-浙江利沃夫自控阀门 | 立式硫化罐-劳保用品硫化罐-厂家直销-山东鑫泰鑫硫化罐厂家 | 反渗透水处理设备|工业零排放|水厂设备|软化水设备|海南净水设备--海南水处理设备厂家 | 打包钢带,铁皮打包带,烤蓝打包带-高密市金和金属制品厂 | 上海皓越真空设备有限公司官网-真空炉-真空热压烧结炉-sps放电等离子烧结炉 | 光纤测温-荧光光纤测温系统-福州华光天锐光电科技有限公司 | 东莞市踏板石餐饮管理有限公司_正宗桂林米粉_正宗桂林米粉加盟_桂林米粉加盟费-东莞市棒子桂林米粉 | 数控专用机床,专用机床,自动线,组合机床,动力头,自动化加工生产线,江苏海鑫机床有限公司 | 全自动包装秤_全自动上袋机_全自动套袋机_高位码垛机_全自动包装码垛系统生产线-三维汉界机器(山东)股份有限公司 | 冰雕-冰雪世界-大型冰雕展制作公司-赛北冰雕官网 | 光环国际-新三板公司_股票代码:838504| 真空泵厂家_真空泵机组_水环泵_旋片泵_罗茨泵_耐腐蚀防爆_中德制泵 | IHDW_TOSOKU_NEMICON_EHDW系列电子手轮,HC1系列电子手轮-上海莆林电子设备有限公司 | 北京律师事务所_房屋拆迁律师_24小时免费法律咨询_云合专业律师网 | 合肥白癜风医院_合肥治疗白癜风医院_合肥看白癜风医院哪家好_合肥华研白癜风医院 | 标准光源箱|对色灯箱|色差仪|光泽度仪|涂层测厚仪_HRC大品牌生产厂家 | 中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折! | 气动调节阀,电动调节阀,自力式压力调节阀,切断阀「厂家」-浙江利沃夫自控阀门 | 福建成考网-福建成人高考网| 北京中航时代-耐电压击穿试验仪厂家-电压击穿试验机 | 底部填充胶_电子封装胶_芯片封装胶_芯片底部填充胶厂家-东莞汉思新材料 | 商标转让-购买商标专业|放心的商标交易网-蜀易标商标网 | 特种阀门-调节阀门-高温熔盐阀-镍合金截止阀-钛阀门-高温阀门-高性能蝶阀-蒙乃尔合金阀门-福建捷斯特阀门制造有限公司 | 焊接烟尘净化器__焊烟除尘设备_打磨工作台_喷漆废气治理设备 -催化燃烧设备 _天津路博蓝天环保科技有限公司 | 塑料瓶罐_食品塑料瓶_保健品塑料瓶_调味品塑料瓶–东莞市富慷塑料制品有限公司 | 依维柯自动挡房车,自行式国产改装房车,小型房车价格,中国十大房车品牌_南京拓锐斯特房车 - 南京拓锐斯特房车 | 香港新时代国际美容美发化妆美甲培训学校-26年培训经验,值得信赖! | 炭黑吸油计_测试仪,单颗粒子硬度仪_ASTM标准炭黑自销-上海贺纳斯仪器仪表有限公司(HITEC中国办事处) | 泥沙分离_泥沙分离设备_泥砂分离机_洛阳隆中重工机械有限公司 | 石家庄装修设计_室内家装设计_别墅装饰装修公司-石家庄金舍装饰官网 | 加气混凝土砌块设备,轻质砖设备,蒸养砖设备,新型墙体设备-河南省杜甫机械制造有限公司 |