The Intention guideline
When your system grows, it drives more unit tests that will naturally cover system behavior and documentation. And with more tests comes greater responsibility: readability and maintenance.
The tests will grow in quantity to an extent where the team will not remember the reason for writing them. You will be looking at a failing test and scratching your head for clues about the intention of the test.
Your unit tests should be understood with the least possible time and effort; otherwise, they will be more of a liability than an asset. An agile software team should be prepared in advance for such test failure scenarios. Intention can be demonstrated by having a clear method signature and a well-structured method body.
Starting with the method signature, here are two popular conventions that should clarify the unit test’s intention.
Method_Condition_Expectation
I have been using this convention in naming the unit test methods across the book...