我正在尝试确定单元测试的命名约定。我喜欢 Roy Osherove 推荐的那一款:
[MethodName_StateUnderTest_ExpectedBehavior]
http://osherove.com/blog/2005/4/3/naming-standards-for-unit-tests.html
对于我们正在测试应用程序是否通过抛出异常正确处理错误行为的负面测试,我不确定这个标准。
因此,在这种情况下,ExpectedBehavior 将始终是“CorrectExceptionThrown”。为每个负面单元测试编写 ExpectedBehavior 是否仍然有意义,或者是否可以将其设为可选?
有优点也有缺点。一方面,负面测试总是相同的,因此每次都编写它是多余的,它使单元测试方法名称变长。如果我们将其设为可选,则在必要时不会为单元测试添加预期行为也是一种风险。我还认为最好在整个项目中保持一致,因此在任何地方都以相同的方式应用它。