VSS p1MZGAMtWzphMhkOm8ARE9HjTAJ7Eue80ysHtCLeSNiJA4NRFB5XytJ6loueHpmI0 QC 960h6_6F1NNHqNIsteAXwtsZ5Zx3GfiPLvfkuqAGS_XkPTnwf7ZDkiBZHA/clip_image002_thumb%5B1%5D.jpg" /> 很明顯的" name="description" />

Android系統單元測試方法(14)

發表于:2011-06-30來源:未知作者:領測軟件測試網采編點擊數: 標簽:
vss /" target="_blank" >VSS p1MZGAMtWzphMhkOm8ARE9HjTAJ7Eue80ysHtCLeSNiJA4NRFB5XytJ6loueHpmI0 QC 960h6_6F1NNHqNIsteAXwtsZ5Zx3GfiPLvfkuqAGS_XkPTnwf7ZDkiBZHA/clip_image002_thumb%5B1%5D.jpg" /> 很明顯的

vss/" target="_blank" >VSSp1MZGAMtWzphMhkOm8ARE9HjTAJ7Eue80ysHtCLeSNiJA4NRFB5XytJ6loueHpmI0QC960h6_6F1NNHqNIsteAXwtsZ5Zx3GfiPLvfkuqAGS_XkPTnwf7ZDkiBZHA/clip_image002_thumb%5B1%5D.jpg" />

很明顯的,這種測試就是正規的Java單元測試,和Android沒有任何關系。你無法測試任何關于Android系統中的API,你寫的Activity,人機界面等等。所以,如果你想測試僅僅是一些封裝數據的對象,或者是純粹的數值計算,還是可以用這種方法的。 Android里面的junit.framework包是怎么回事?

很多人看到這個包的時候,第一反應是Android是不是已經完整集成了JUnit。很遺憾這不是事實。如果你按照JUnit的運行方法,卻不像上面那樣改用JDK,就一定會得到一個異常:
Java代碼 復制代碼 收藏代碼
  1. #   
  2. # An unexpected error has been detected by Java Runtime Environment:   
  3. #   
  4. # Internal Error (classFileParser.cpp:2924), pid=4900, tid=4476  
  5. #Error: ShouldNotReachHere()   
  6. #   
  7. # Java VM: Java HotSpot(TM) Client VM (10.0-b19 mixed mode windows-x86)   
  8. # An error report file with more information is saved as:   
  9. # E:\Mydoc\EclipseWorkspace\TestAndroid\hs_err_pid4900.log   
  10. #   
  11. # If you would like to submit a bug report, please visit:   
  12. # http://java.sun.com/webapps/bugreport/crash.jsp   
  13. #  


實際上,TestCase這個類用于在Android擔當所有獨特的TestCase的基類的作用,它是一個Abstract Class。Android單元測試類繼承關系圖如下所示:


之所以有那么多XXXTestCase主要是為了簡化工作。例如當你想對一個訪問數據庫的功能進行測試時,首先需要自己啟動并初始化數據庫。在這里是類似的,如果你想測試一個Activity,首先要啟動它。而ActivityTestCase就會自動幫你做完這些事情。而 ActivityUnitTestCase會更注重測試的獨立性,它會讓測試與Android底層的聯系降到最低。其余的類可以查看相關的Javadoc 來按需挑選。要編寫測試,就是找到合適的XXXTestCase作為基類來繼承,并且編寫自己的測試方法。

很明顯的,最簡單的編寫測試的方法就是繼承AndroidTestCase寫一個自己的TestCase。然后為自己的一組 TestCase寫一個Activity界面,由界面控制TestCase的啟動,運行和結果報告。但是,你很快會發現,為何要給測試寫一個界面呢?這太詭異了。這時就需要一種技術,它可以利用命令行(Shell)來啟動一組測試,并且通過命令行的形式給出結果。這就是所謂的 Instrumentation。 什么是Instrumentation?

一般在開發Android程序的時候,需要寫一個manifest文件,其結構是:

Java代碼 復制代碼 收藏代碼

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97