2014-04-05 125 views
0

我想寫的Android單元測試,但我得到一個「NoClassdefFound」誤差在我的測試方法時執行以下代碼非常簡單:Android的單元測試 - ClassdefNotFound

public void testAAA(){ 
    testAPI1 test = new testAPI1(); 
    test.makeApiCall1(); 
} 

類testAPI1看起來是這樣的:

public class testAPI1 implements SomeInterface{ 
    public void makeApiCall1(){ 
     //do something 
    } 

}

SomeInterface是,嗯,只是一些接口。 但是,當我刪除「SomeInterface」時,一切正常。

清單文件:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.mamlambo.article.simplecalc.test" android:versionCode="1" 
android:versionName="1.0"> 
<application android:icon="@drawable/icon" 
    android:label="@string/app_name"> 
    <uses-library android:name="android.test.runner" /> 
</application> 

<uses-sdk android:minSdkVersion="7" /> 
<instrumentation android:targetPackage="com.mamlambo.article.simplecalc" 
    android:name="android.test.InstrumentationTestRunner" 
    android:label="Simple Calc Test"/> 
</manifest> 

到底是什麼問題?

回答

0

問題是沒有找到我實現的接口。界面在我引用的另一個項目中,顯然沒有被正確地引用。 我做的是將該項目導出到一個jar文件(沒有AndroidManifest!),然後將其導入到我的測試項目中,並且從此一切正常。