Pitest - Mutation Test failure - negated conditional → SURVIVED

5.6k Views Asked by At

I added a conditional operator in my code like:

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

This fails in mutation testing with the reason of negated conditional → SURVIVED

I added few unit test cases to assign the value with "" , null, "value" like

asserThat(testValue.equals(""));

But nothing is giving the solution for this.

Can I get help from anyone about the mutation coverage for this specific flow?

1

There are 1 best solutions below

0
henry On BEST ANSWER
assertThat(testValue.equals(""));

Is not a functioning assertion. Assuming you are using AssertJ, this should be.

assertThat(testValue).isEqualTo("");

It is not entirely clear what your code and tests look like from the small snippets you have posted. But the negated conditional is killed in the following code with the supplied test.

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"));
    }
}