OK, time for some nerdy #mutationtesting internals tweets π€.
@stryker_mutator uses mutation switching (or "mutant schemata"). All mutants are placed in the code at the same time, yet a single mutant is active at any one time.
What does this mean for StrykerJS?π€
When StrykerJS places these 2 mutants, it looks like:
const even = global.activeMutant === "1"?
numbers.map(n => global.activeMutant === "2"? n / 2 : n % 2)
: numbers?.map(n => global.activeMutant === "2"? n / 2 : n % 2)
Whoaaaahh π± What happened here?
It appears that StrykerJS placed the second mutant twice π². That looks scary, but it is still correct from a Mutation Switching point of view: only one can be active at the same time.
However, we want to see each mutant exactly once. It is most definitely a bug in StrykerJS.
Me π€ :
"What the use case is for 'call by value' in @scala_lang ."
@Hugo_vrijswijk π¦ΈββοΈ:
"Well, if you would want to implement your own `or`-operator...".
π€ :
"Implementing your own `or` operator is the most Scala-ish thing I've ever heard!"
StrykerJS 5.0 is here π
With a new π§ͺtest view in your reports telling you which tests are 'useless'.
Also: new mutators, support for `--ignorePatterns`, `perTest` coverage analysis by default, and more!
Read up on what's new and get it today! π½π«
stryker-mutator.io/blog/annoβ¦
Took a bit longer than others, but I finished reading the latest edition of the @JavaMagazineNL! Three articles about @ASFMavenProject and (myself excluded) three @InfoSupportBV colleagues as authors! Really enjoyed it.
π I just got my first PR accepted for Jest π. Yes, it will help improve Jest support in StrykerJS π½. Thanks to @SBekkhus for all the help π€ github.com/facebook/jest/pulβ¦@fbjest