Pitest -突变试验失败-阴性条件→存活



我在代码中添加了一个条件运算符,如:

String test;//assigned with some value
result = test != null ? test : "";

在突变检测中失败,原因是negative conditional→survive

我添加了几个单元测试用例来分配"",null,"value"的值,如

asserThat(testValue.equals(""));

但是没有办法解决这个问题。

我能从任何人那里得到关于这个特定流的突变覆盖率的帮助吗?

assertThat(testValue.equals(""));

不是一个有效的断言。假设您正在使用AssertJ,这应该是。

assertThat(testValue).isEqualTo("");

从你发布的小片段来看,你的代码和测试是什么样子的并不完全清楚。但是,在下面的代码中,通过提供的测试终止了被否定的条件。

public class Foo {
public static String foo(String test) {
String result = test != null ? test : "";
return result;
}
}
class FooTest {
@Test
void convertsNullToEmptyString() {
assertEquals("", Foo.foo(null));
}
@Test
void returnsNonNullValues() {
assertEquals("hello", Foo.foo("hello"));
}
}

最新更新