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.
Problems
False Negatives
Lack of Trust
Solutions
Check the right case
Assert for a functional case.
Don't test implementation.
Sample Code
Wrong
square = Square(5)
assert square.area() != 0
# This will lead to false negatives since it is too vague
Right
square = Square(5)
assert square.area() = 25
# Assertion should be precise
Detection
With Mutation Testing techniques we can find these errors on our tests.
Tags
- Testing
Conclusion
We should use development techniques like TDD that request concrete business cases and make concrete assertions based on our domain.
Relations

Code Smell 30 - Mocking Business
Maxi Contieri ⭐⭐⭐ ・ Nov 21 '20 ・ 1 min read

Code Smell 52 - Fragile Tests
Maxi Contieri ⭐⭐⭐ ・ Jan 4 '21 ・ 2 min read
More info
Credits
This smell was inspired by Mario Cervera and used with his permission.
A program that produces incorrect results twice as fast is infinitely slower.
John Osterhout

Software Engineering Great Quotes
Maxi Contieri ⭐⭐⭐ ・ Dec 28 '20 ・ 13 min read
This article is part of the CodeSmell Series.
Top comments (0)