天天看點

在Android中進行單元測試遇到的問題

在使用junit進行測試的時候,遇到這個問題。網上的解釋是:使用eclipse對java代碼進行調試,無論是遠端jvm還是本地jvm都會進行socket通訊.發生這樣的錯誤是由于這些軟體會修改winsock,還會監聽和占用一些端口,socket通訊不上造成的。

我通過cmd →ping localhost ,發現localhost指向::1,這是因為我的系統是win7 ,它支援ipv6的原因。而eclipse需要localhost指向127.0.0.1。于是就修改hosts檔案(c:\windows\system32\drivers\etc\hosts)。發現hosts中有兩行被注釋掉了(#後的東西代表被注釋掉了)。

然後,去掉127.0.0.1前的#号,就可以了。如果沒有127.0.0.1   localhost這行,則自己手動添加上去。這樣我們就将localhost重定向為127.0.0.1了。

這個問題也可能是本地的配置檔案被修改,或防火牆開着的原因。如果本地檔案被修改,那麼在cmd指令行裡面輸入netsh winsock reset指令就可以解決。

在Android中進行單元測試遇到的問題

<uses-library android:name="android.test.runner" />

<uses-permission android:name="android.permission.run_instrumentation" />

<instrumentation android:name="android.test.instrumentationtestrunner"

="com.bang.test" android:label="tests for my app" />

在Android中進行單元測試遇到的問題

必須要添加的配置,已經在上面的示例配置檔案中用灰色背景标出來了,配置需要放置manifest中的位置在注釋中。

根據自己的程式,在androidmanifest.xml檔案中配置上面的資訊。如果上面的資訊配置正确,滑鼠右鍵單擊工程,選擇run as\run configurations,在android junit test選項中選擇工程,将會看到下面這個界面:

在Android中進行單元測試遇到的問題

在instrumentation runner後的清單框選項中,我們看到android.test.instrmentationtestrunner,并處于目前選擇狀态。如果這個沒 有選擇框中沒有任何選項,就說明androidmanifest.xml配置有問題。

1、首先確定你已經引入了junit測試架構,添加的辦法是:右鍵點你的項目→選中“build path”→選中“configure build path…”→在libraries頁籤中點選“add library”(如下圖)→ 添加junit4測試架構

在Android中進行單元測試遇到的問題

2、記得在“order and export”頁籤中添加junit 4的依賴(如下圖)。

在Android中進行單元測試遇到的問題

控制台中會有一段錯誤提示

在Android中進行單元測試遇到的問題
在Android中進行單元測試遇到的問題

後面發現是debug configuration的問題。我的測試項目的bootstrap entries,預設是android2.3.3。隻要去掉這個東西就行了。隻要右鍵點你的項目→選中“debug as”→ 選擇“debug configurations”→然後按下圖操作,去掉對android2.3.3的啟動依賴即可。

在Android中進行單元測試遇到的問題

參考連結

<a href="http://tech.sina.com.cn/s/2009-12-04/16071161345.shtml" target="_blank">android上的單元測試</a>

<a href="http://kb.cnblogs.com/page/77424/">在android上實作junit單元測試的四部曲</a>

本文版權歸作者所有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。

轉載:http://www.cnblogs.com/kissazi2/p/3517291.html

繼續閱讀