Code Smell 76 - Generic Assertions
Don't make weak tests to create a false sensation of coverage.
TL;DR: Test Assertions should be precise. Not too Vague and not too specific. There is no silver bullet.
Lack of Trust
Check the right case
Assert for a functional case.
Don't test implementation.
square = Square(5) assert square.area() != 0 # This will lead to false negatives since it is too vague
square = Square(5) assert square.area() = 25 # Assertion should be precise
With Mutation Testing techniques we can find these errors on our tests.
We should use development techniques like TDD that request concrete business cases and make concrete assertions based on our domain.
A program that produces incorrect results twice as fast is infinitely slower.
This article is part of the CodeSmell Series.