You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm not sure if this is feasible without slowing infection down intolerably, or necassarily even desirable, but reporting here to make the issue clear.
Currently this plugin only allows Psalm to kill a mutant if both are in the same file, because the implementation works by having Psalm analyse only the given file relevant to each mutant. But conceptually it seems quite arbitrary to score code more highly if Psalm errors appear in the same file mutated rather than in a different file - there's nothing that special about the file to file boundary.
Allowing Psalm to kill mutants in a different file would probably significantly increase MSI scores in many projects - mutations like PublicVisiblity would generally be killed whenever a public method is used and required to be public anywhere within the project being analysed, even if none of the code that uses the method has any tests.
If it's not feasible to fix this I'd be happy to make a PR to add info about it to the docs.
The text was updated successfully, but these errors were encountered:
I'm not sure if this is feasible without slowing infection down intolerably, or necassarily even desirable, but reporting here to make the issue clear.
Currently this plugin only allows Psalm to kill a mutant if both are in the same file, because the implementation works by having Psalm analyse only the given file relevant to each mutant. But conceptually it seems quite arbitrary to score code more highly if Psalm errors appear in the same file mutated rather than in a different file - there's nothing that special about the file to file boundary.
Allowing Psalm to kill mutants in a different file would probably significantly increase MSI scores in many projects - mutations like
PublicVisiblity
would generally be killed whenever a public method is used and required to be public anywhere within the project being analysed, even if none of the code that uses the method has any tests.If it's not feasible to fix this I'd be happy to make a PR to add info about it to the docs.
The text was updated successfully, but these errors were encountered: