I think this is a great example of why tight naming conventions for unit tests are unattractive.
Your proposed scheme will work only if there are two method overloads: one with one and without parameters. It does not apply to a scenario in which you have more than one overload with different parameters.
Personally, I prefer a much weaker naming convention, which can be summarized as
[Action][Will|Should|Is|...][Result]
It gives me the opportunity to name my tests.
SutIsPathResolutionCommand ExecuteWithNullEvaluationContextWillThrow ExecuteWillAddDefaultClaimsTransformationServiceWhenNoConnectionServiceIsAvailable
I must admit that I rarely read the name of the test anyway. Instead, I read the specification of what it does (i.e. test code). The name is not so important for me.
Mark seemann
source share