【发布时间】:2012-08-06 11:29:36
【问题描述】:
我正在尝试确定单元测试的命名约定。我喜欢 Roy Osherove 推荐的那一款:
[MethodName_StateUnderTest_ExpectedBehavior]
http://osherove.com/blog/2005/4/3/naming-standards-for-unit-tests.html
对于我们正在测试应用程序是否通过抛出异常正确处理错误行为的负面测试,我不确定这个标准。
因此,在这种情况下,ExpectedBehavior 将始终为“CorrectExceptionThrown”。为每个负面单元测试编写 ExpectedBehavior 是否仍然有意义,或者是否可以将其设为可选?
有利有弊。一方面,否定测试总是相同的,因此每次都编写它是多余的,它使单元测试方法名称变长。如果我们将其设为可选,则在必要时不会为单元测试添加预期行为也是一种风险。我还认为最好在整个项目中保持一致,以便在任何地方都以相同的方式应用它。
【问题讨论】:
-
我不确定它是否可以仅仅因为它是重复的而被称为“冗余”。它说明了每种情况下的测试。
标签: c# unit-testing refactoring naming-conventions