android studio 测试工具,使用Android Studio进行单元测试
Android Studio已經到了1.2版本,國內的開發者基本也在從Eclipse向Android Studio進行轉變,對于Android開發者,以后必將是Android Studio的天下。
昨天在完善煎蛋項目的時候,需要進行單元測試,在Eclipse環境中進行是很簡單的,但是在Android Studio環境中進行單元測試,我還沒有嘗試過,在國內找了很多資料,大都是人云亦云,也沒有測試成功,然后在這篇文章的指導下成功運行,特此翻譯,供大家學習參考。
這篇文章介紹了在Android Studio中進行單元測試的基礎部分。
在Android Studio中可以進行單元測試
很多的文章指導你應該在“build.gradle” 文件里面添加幾行代碼從而允許單元測試,并且告訴你應該在項目依賴中添加Android測試庫。
其實你并不需要按照這種錯誤的方式去做,因為這是完全沒有必要的。
Android Studio本身就支持Android單元測試,你只需要在你的項目中配置一下就可以了。
注意:還有好幾種廣受歡迎的Android單元測試框架,比如Robolectric,它們比我在這里提到的需要更多的配置,我希望在未來可以以這個題目再寫一些指導文章。
創建你的單元測試文件夾
我喜歡把單元測試放在我的主項目里面,比如“com.mypath.tests.”
,你可以把測試目錄放到你想要的地方。開始之前,像下面這樣,先創建你的測試文件夾。(譯者注:這一步不是必須的,你也可以把單元測試類創建在與
Android Studio默認的ApplicationTest類相同的路徑下面)
接下來,創建一個叫做 “ExampleTest”的類,要繼承自InstrumentationTestCase
然后可以添加一段簡單的測試代碼,我們知道這段代碼肯定會運行失敗public?class?ExampleTest?extends?InstrumentationTestCase?{
public?void?test()?throws?Exception?{
final?int?expected?=?1;
final?int?reality?=?5;
assertEquals(expected,?reality);
}
}
注意:所有的測試方法必須以"test"開頭,否則Android Studio不能找到要進行單元測試的方法,你將會得到各種各樣的錯誤,并且無法正常執行。
為你的項目配置單元測試
現在我們已經有了一個必然會運行失敗的測試用例,我們必須把它run起來。
首先點擊"Run-> Edit Configurations"
然后點擊“+”,從左上角選擇添加一個 Android Tests,然后你可以將這個測試配置重新命名為"test"或與之相關的名字
然后就會創建如下的測試項目配置
從下拉菜單中選擇你當前的module
接下來,選擇"All in Package"選項,然后把你的剛才創建的測試文件夾選中。你也可以選擇“All in
Module”選項,這樣Android
Studio會自動的找到你整個Module中的所有測試單元,你也可以通過更具體的類或者是方法選項,進一步縮小測試范圍。
The results should look like this:
做完這一切之后,看起來應該像下面這樣
我也喜歡選中下面的“Show chooser dialog”,這樣當每次運行的時候,我可以指定如何去運行
現在點擊"Apply"然后關閉,你現在應該可以看到你的測試案例已經作為一個可以運行的項目配置在Android Studio上面的工具欄上了
運行我們的單元測試
我使用Genymotion來完成所有的事情,所以開啟你的Genymotion然后運行test
在assertion這一行添加一個斷點,然后點擊 “run debug mode”,目的是為了證明Android Studio確實執行了我們的單元測試。
當你開始你的測試工程之后,你會看到一個叫做“Running Tests…”的顯示窗口
當你的測試沒有通過,點擊“Logcat”然后查看綜合的輸出結果,看下我們測試失敗的原因
通過控制臺,可以看到打印出的錯誤原因:“junit.framework.AssertionFailedError:?expected:<1>?but?was:<5>”
恭喜你,你已經成功測試出錯誤啦~
下面的這些資料在完成本文時,給了很大的幫助
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的android studio 测试工具,使用Android Studio进行单元测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dubbo协议端口
- 下一篇: android 进度条 代码,Andro