A full mutation run takes nine hours; a run over one directory takes eleven minutes and answers the question that matters. The gap between 94% coverage and 71%…
The argument that an interface with one implementation is waste ignores that the test double is a second implementation, and the argument that the double justifies it ignores…
A test that dispatched a job and then asserted on the database is testing two things and failing for two reasons. Splitting at the queue boundary is the…
A test file that mocked the module it imported, so it asserted the behaviour of the mock and passed after the implementation was deleted. It had been added…