我目前正在测试Android API及其数据库类。为此,我创建了一个调用这些数据库类(尤其是SQLiteDatabase)的应用程序和测试。测试和应用程序运行正常,但为了获得覆盖,我决定进入并在Android API中的android.database
包中添加一个“cov”类,该类将从android.database的修改版本中收集覆盖率, android.database.sqlite类。我将“android.database.cov”导入到我的班级,测试本身运行良好,但是当我使用cov时
System.out.println(cov.printArray());
cov.reset();
我在JUnit测试中得到以下故障跟踪:
java.lang.NoClassDefFoundError: android.database.cov
at com.example.sql2.test.SQLSuiteVer2.testSuite(SQLSuiteVer2.java:91)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:192)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1584)
有谁知道这是怎么回事?我假设我们在创建android.jar文件时遇到了一些错误,或者对“cov”类进行了一些初始化。
感谢。