我目前正在测试 Android API 及其数据库类。为此,我创建了一个调用这些数据库类(尤其是 SQLiteDatabase)的应用程序和测试。测试和应用程序运行正常,但为了获得覆盖率,我决定android.database
在 Android API 中的包中添加一个“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”类的一些初始化时遗漏了一些东西。
谢谢。