在测试中的Android Activity中抛出未捕获的异常时,不会生成Emma代码覆盖率。但是,如果测试通过,则会成功生成覆盖范围!我使用的是SDK r15,Emma 1.6.x macosx和默认的build.xml。以下是ant test
目标的输出:
[exec] com.stackoverflow.android.test.ActivityTest:INSTRUMENTATION_RESULT: shortMsg=java.lang.ArithmeticException
[exec] INSTRUMENTATION_RESULT: longMsg=java.lang.ArithmeticException: divide by zero
[exec] INSTRUMENTATION_CODE: 0
[echo] Downloading coverage file into project directory...
[exec] remote object '/data/data/com.stackoverflow.android/coverage.ec' does not exist
这是正常的吗?我是Emma的新手,但我知道JaCoCo有时会这样做!请指教。
答案 0 :(得分:1)
我刚遇到这个问题,不涉及android sdk或mac os。我在Windows上使用JUnit Tests覆盖标准的JDK代码库。我也是艾玛的新手,但我发现这是证明这是正常的。 :(以下链接来自EclEmma自己的常见问题解答。
Why are JUnit4 test cases with expected exceptions shown as not covered?
所以如果有人知道解决这个问题的方法,我很乐意听到。