2012-07-11 122 views
4

我有一個關於技術或方法的問題,我可以用它來快速測試我的代碼&。最近我遇到了難題&有關測試我的代碼,當我在一個Android項目上工作的挫折。每當我想測試我的代碼,我不得不重新編譯整個項目,並等待模擬器重新安裝應用程序,至少需要40〜50秒才能檢查一些代碼工作正常。是否有任何方法可以編譯或測試一小部分代碼/ 1〜2方法,而無需每次都重新編譯整個項目?哪一個是行業中最新和使用最廣泛的?Java和android測試方法

=====================================

其他問題。我已經做了一些關於Java的JUnit測試的研究,但是我正在尋找JUnit?或者它是不同種類的測試技術

+1

單元測試是一個不可缺少的一部分聲音測試策略,這也是爲什麼[JUnit是標準Android開發系統的一部分](http://developer.android.com/tools/testing/index.html)。一個經過深思熟慮的測試計劃將會消除你現在擁有的大部分編譯部署失敗的挫敗感。 – fvu 2012-07-11 12:23:24

+0

感謝您回覆fvu,喲,我明白你在說什麼,但是由於項目總是在不斷擴展,我真的需要其他更好的方式來測試我的代碼。 – Jason 2012-07-12 14:15:25

回答

1

也許Robolectric是你所期待的。您可以使用JUnit僅測試不使用android sdk中的方法的java代碼。

0

您是否考慮過使用AndroidTestCase? JUnit只能用於非特定於Android的功能,但它可以完成針對Android特定代碼的工作。

0

對於不希望使用Roboticum等,但只要堅持用Eclipse的人們內置的JUnit測試,這是我會建議:

有三個項目:

  • AndroidProject
  • AndroidProject.test
  • AndroidProject.test.android

在你的Andr ?? oidProject.test項目,您只能測試模型,控制器等僅使用Java庫的類。所以沒有Android Logcats,Toast或諸如Patterns.WEB_URL.matcher(url).matches()) [android.util.Patterns](它驗證String URL)的東西。

在你AndroidProject.test.android項目中,測試活動,服務,模型類,使用Android庫,例如上面提到的模式驗證等

爲了能夠使用Eclipse Run As - >JUnit Test對於您的JUnit測試項目,您必須執行一些設置,例如從各個測試類中刪除Android API,使用junit.framework.Assertorg.junit.Test導入等。對於一個完整的一步一步的指導,重現我做了什麼,使其工作,我指的是我自己的#1,職位,我做了:

JUnit Test Android classes without being forced to start the (slow) Emulator.