2010-05-07 71 views
5

我有一個擴展android.os.CountDownTimer的自定義計時器。我在測試自定義Timer的測試項目(標準Android/Eclipse項目配置)中進行了測試。當我運行這個測試時,我得到:Eclipse + Android + JUnit測試參考android.os class = NoClassDefFoundError

java.lang.NoClassDefFoundError: android/os/CountDownTimer
  at java.lang.ClassLoader.defineClass1(Native Method)
  at java.lang.ClassLoader.defineClass(ClassLoader.java:698)

你明白了。我能不能在junit測試中運行引用android代碼的代碼?

回答

0

你不能這麼做,因爲無法使用JUnit測試Android資源而無需進一步的指示。你必須首先測試你的項目。這個教程和下面的介紹了此過程非常好:

http://mylifewithandroid.blogspot.com/2008/11/controlling-instrumentation.html
http://mylifewithandroid.blogspot.com/2008/11/junit-in-android.html

這裏是另一個測試項目的解釋代碼snipplet: http://marakana.com/tutorials/android/junit-test-example.html

在這裏你可以找到關於堆棧溢出的答案: https://stackoverflow.com/questions/522312/best-practices-for-unit-testing-android-apps

+0

他沒有休息一個資源,實際上使用他的原始問題措辭的android測試儀器。 因此,我問他如何初始化自定義類,因爲這將是追蹤錯誤的起點 – 2010-05-22 12:19:39