Questions tagged «code-coverage»

“代码覆盖率”(同义词:测试覆盖率)是对通常由某些测试机制(通常由单元测试)执行的应用程序源代码量的度量。

10
模拟Java枚举以添加值以测试失败情况
我有一个或多或少像这样的枚举开关: public static enum MyEnum {A, B} public int foo(MyEnum value) { switch(value) { case(A): return calculateSomething(); case(B): return calculateSomethingElse(); } throw new IllegalArgumentException("Do not know how to handle " + value); } 并且我希望测试涵盖所有行,但是由于期望代码能够处理所有可能性,因此如果没有在开关中使用其相应的case语句,则无法提供值。 扩展枚举以添加额外的值是不可能的,并且仅模拟equals方法返回false也不会起作用,因为生成的字节码使用了幕后的跳转表来进行适当处理...所以我想使用PowerMock之类的东西也许可以实现一些黑魔法。 谢谢! 编辑: 当我拥有枚举时,我以为我可以在值上添加一个方法,从而完全避免切换问题。但是我仍然要提这个问题,因为它仍然很有趣。

9
如何使用Android Studio获得代码覆盖率?
我正在使用Android Studio开发应用程序。 我能够运行测试代码。 但是,我不知道如何在android studio中获得代码覆盖率。 我已经看过以下链接。 Android Gradle代码覆盖率 但是我等不及要更新到支持Emma的v0.6。 项目配置如下。 主代码 MyProject / AppName / src / main / java / mypackage / MyClass.java 测试代码 MyProject / AppName / src / instrumentTest / java / mypackage / test / MyClassTest.java 项目配置 MyProject的 ├─build.gradle └─AppName ├─build.gradle └─src ├─main │├─java ││└─mypackage ││└─MyClass.java …

1
如何覆盖Kotlin生成的不必要的空检查?
考虑以下最小的Kotlin示例: fun <U> someWrapper(supplier: () -> U): () -> (U) { return { supplier() } } fun foo(taskExecutor: TaskExecutor): Int { val future = CompletableFuture.supplyAsync(someWrapper { 42 }, taskExecutor::execute) return future.join() } @Test public void shouldFoo() { assertThat(foo(), is(42)); } 我在Jacoco中有分支覆盖规则,该规则对于上面的代码失败,说someWrapper呼叫行未覆盖2个分支中的1个。不幸的是,对于我来说,排除所有someWrapper被调用的类不是一个选择。 查看反编译的Java代码: public final int foo(TaskExecutor taskExecutor) { Object var10000 …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.