編輯:高級開發
在android SDK系統中已經沒有了JDK,自然也無法運行JUnit,但是這並不能阻止我們利用JUnit來編寫單元測試,下面的文章進行詳細說明下android SDK系統的單元測試問題。
就有了比較成熟的測試框架,但是直到目前最新的1.1版本,也沒有詳細的文檔介紹這個內容,只是簡單的給了一個Api Demos裡的幾個單元測試代碼。因此,我在這裡對此內容做一下梳理和總結:
在 Java下做單元測試必然用到JUnit。這裡說的JUnit是指從apache基金會下載的junit.jar裡提供的一系列單元測試功能。這些功能顯然是運行在JDK之上的。在android下已經沒有了JDK,自然也無法運行JUnit。但是這並不妨礙我們利用JUnit編寫單元測試。
只不過在運行單元測試時,一定要用JDK來運行,利用Java命令來啟動JUnit的某個Runner。如果是用Eclipse的話,可以在Run Configuration裡新建一個JUnit。但是一定要記得在Classpath選項卡裡將Bootstrap EntrIEs中的android Library改成JRE,並且添加junit.jar。
很明顯的,這種測試就是正規的Java單元測試,和android沒有任何關系。你無法測試任何關於android SDK系統中的API。你寫的Activity,人機界面等等。所以,如果你想測試僅僅是一些封裝數據的對象,或者是純粹的數值計算,還是可以用這種方法的。
很多人看到這個包的時候,第一反應是android SDK系統是不是已經完整集成了JUnit。很遺憾這不是事實。如果你按照JUnit的運行方法,卻不像上面那樣改用JDK,就一定會得到一個異常:
- #
- # An unexpected error has been detected by Java Runtime Environment:
- #
- # Internal Error (classFileParser.cpp:2924), pid=4900, tid=4476
- #Error: ShouldNotReachHere()
- #
- # Java VM: Java HotSpot(TM) ClIEnt VM (10.0-b19 mixed mode Windows-x86)
- # An error report file with more information is saved as:
- # E:\Mydoc\EclipseWorkspace\Testandroid\hs_err_pid4900.log
- #
- # If you would like to submit a bug report, please visit:
- #http://Java.sun.com/webaPPS/bugreport/crash.JSP
- #
實際上,TestCase這個類用於在android擔當所有獨特的TestCase的基類的作用。
廣播接收器(Broadcast)簡單地從其他應用程序或系統響應廣播消息。這些消息有時稱為事件或意圖。例如,應用程序也可以發起廣播,以讓其他應用程序知道某些數據已經被下載到
android開源平台一詞的本義指“機器人”,是美國搜索引擎公司Google在2007年11月5日公布的基於Linux平台的開源智能手機操作系統名稱。該平台由操作系統、
從現實生活中理解廣播機制 一聽到廣播我們第一感覺就會聯想到小時候村裡面的廣播,每逢村裡有什麼活動都是通過廣播發送的。收聽收音機也是一種廣播,在收音機中有很多個廣播電台
在實現了android系統平台的強大性,現就將引擎的前兩個元素即攝像頭與指南針之後,下一步要做的就是確定位置,要想更好的完成這一項目,我們主要用到android的Loc