meaningless mutations while running mutation testing with Stryker

140 views Asked by At

I am new to mutation testing. I use the Stryker library to generate and to run tests. But some mutations break the whole logic between code expressions. For example,

// real code

if (!(typeof age == 'number' && Math.trunc(age) == age)) throw new Error('age must be a whole number');

// mutated code from Stryker

if (!(true && Math.trunc(age) == age)) throw new Error('age must be a whole number');

If typeof age == 'number' is false Math.trunc(age) == age is never executed because of shortcut And operator &&. But Stryker creates a mutant which assumes that Math.trunc(age) == age must be executed when typeof age == 'number' is false and some test cases must fail.

Is this situation normal? What should I do in this situation? Should I ignore the mutant?

Thanks.

0

There are 0 answers