Android上的代码覆盖率
我知道有很多关于Android代码覆盖率的问题被问到了(我在问之前做了一些研究),但我仍然在一些问题上陷入困境,所以如果你能帮忙,我将非常感激。 我现在做的不是真正的单元测试,而是验证视图的活动测试(检查它们是否为null,检查按钮是否可点击,统计一个活动中的视图数量),然后我实现一些代码来测试每个活动的公共方法,我想知道这些测试的代码覆盖率。首先我尝试了EclEmma,但他们似乎不支持android,所以我选择了Emma。然后我有一个常见的错误,很多人在互联网上:Android上的代码覆盖率,android,testing,android-activity,Android,Testing,Android Activity,我知道有很多关于Android代码覆盖率的问题被问到了(我在问之前做了一些研究),但我仍然在一些问题上陷入困境,所以如果你能帮忙,我将非常感激。 我现在做的不是真正的单元测试,而是验证视图的活动测试(检查它们是否为null,检查按钮是否可点击,统计一个活动中的视图数量),然后我实现一些代码来测试每个活动的公共方法,我想知道这些测试的代码覆盖率。首先我尝试了EclEmma,但他们似乎不支持android,所以我选择了Emma。然后我有一个常见的错误,很多人在互联网上: [exec] androi
[exec] android.test.suitebuilder.TestSuiteBuilder$FailedToCreateTests:INSTRUMENTATION_RESULT: shortMsg=java.lang.IllegalAccessError
[exec] INSTRUMENTATION_RESULT: longMsg=java.lang.IllegalAccessError: Classref in pre-verified class resolved to unexpected implementation
[exec] INSTRUMENTATION_CODE: 0
[echo] Setting permission to download the coverage file...
[exec] Unable to chmod /data/coverage.ec: No such file or directory
[echo] Downloading coverage file into project directory...
[exec] remote object '/data/coverage.ec' does not exist
我尝试了很多其他人做的事情,但他们就是不能解决我的问题。我从data/data/coverage.ec改为sdcard/coverage.ec,现在是data/coverage.ec,它们都不起作用。我试图挂载-o重新挂载rw/SD卡,但也不起作用
有没有其他方法可以解决这个问题?活动测试甚至可以测试吗?或者我必须换成Emma以外的东西?我的错,起初我跟随一个站点(我不记得了)将Emma.jar复制到我的测试项目/libs/。我认为它不知何故调用了jar文件两次,因此抛出了IllegalAccessError。我通过删除所有emma、emma_ant jar文件并将它们复制到/Java/jdk/jre/lib/ext中来解决这个问题。现在我所有的测试都运行良好,我现在可以获得代码覆盖率了