mango icon indicating copy to clipboard operation
mango copied to clipboard

Removed assertion roulette (test smell)

Open eas5 opened this issue 4 years ago • 1 comments

An Assertion Roulette occurs when a test method has multiple non-documented assertions. Various assertion statements in a test method without a descriptive message impacts readability/understandability/maintainability as it is difficult to understand the reason for the failure of the test.

In the test, I replaced the first assertions by assumptions, which verify the test preparation but will skip its execution (thus not failing the test) if not met.

The series of assertions that compared the messages retrieved from the DB with the List created in the test setup can be replaced by a single assertion comparing both collections since both are ArrayLists with the same message order.

eas5 avatar Jul 27 '20 01:07 eas5

Coverage Status

Coverage increased (+0.02%) to 75.944% when pulling 0e9ec31d50d5dc4056b4e259d7047603ae513216 on eas5:test_improvement into 995eb30c5f330fb6871ca59fd95b298ac41291b5 on jfaster:master.

coveralls avatar Jul 27 '20 01:07 coveralls