我喜欢创建我的测试方法,如:
Should_not_allow_negative_number_in_value()
但每次输入_都很无聊,而且它也总是有相同的签名......
所以......任何人都知道要加快速度吗?
谢谢!
答案 0 :(得分:3)
可能会自动化的东西(根本没有,但如果你使用这种命名符号则多一点)这个过程:
我通常将我的测试命名为:
MethodToTest_State_ExpectedBehavior
示例:
[Test]
public void ConvertToInt32_NullValue_ThrowException
{
//Test method body
}
您可以安装ReSharper,并创建一个新的实时模板,如:
[Test]
public void $Method$_$State$_$Expected$()
{
$END$
}
并设置 tst 等快捷方式。
现在,每次要添加新方法时,您只需要开始编写 tst 并按TAB
两次,然后它会为您创建该方法,放置插入符号在Method
名称上。按Enter
后,插入符将移至您编写State
名称的位置,然后移至Expected
,然后将其放置在$END$
所在的位置。< / p>
修改强>
如果您使用_Should
命名所有测试,那么这也会有所帮助。类似的东西:
ConvertToInt32_NullValue_ShouldReturnTrue
然后您可以将模板修改为:
[Test]
public void $Method$_$State$_Should$Expected$()
{
$END$
}
您甚至可以尝试将命名约定分组到几个组中,并为每个组创建一个代码段/模板。
编辑2:
有关此测试命名约定的更多信息:Naming Standards For Unit Tests,作者是单元测试艺术的作者Roy Osherove。
答案 1 :(得分:1)
使用PascalCase而不是underscore_case
,例如
ShouldNotAllowNegativeNumberInValue();
是的,没有下划线!现在代码减少了80%。
答案 2 :(得分:1)
使用较短的名称,不要将句子写入方法名称,使用更像
的内容DisallowNegativeValuesTest()
答案 3 :(得分:1)
如果您正在寻找可读的测试,请查看Cucumber&amp; amp; Gherkin作为BDD框架。
答案 4 :(得分:1)
我知道有一些选项可以让这更容易: Use AutoHotkey或 Use ReSharper LiveTemplates