![cover-img](https://project-assets.showwcase.com/1420x/16381/1686496222197-fleur-dQf7RZhMOJU-unsplash.jpg?type=webp)
Code Smell 76 - Generic Assertions
11 June, 2023
1
1
0
Contributors
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
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
This article is part of the CodeSmell Series.