我喜欢创造我的测试方法,如:更快速地创建测试方法
Should_not_allow_negative_number_in_value()
但它是很无聊让打字_每一次,它也有始终不变的签名......
所以......任何人都知道让它更快?
谢谢!
我喜欢创造我的测试方法,如:更快速地创建测试方法
Should_not_allow_negative_number_in_value()
但它是很无聊让打字_每一次,它也有始终不变的签名......
所以......任何人都知道让它更快?
谢谢!
一件也许自动化(一点都没有,但多一点,如果你使用此命名符号)这个过程:
我通常命名我的测试是这样的:
MethodToTest_State_ExpectedBehavior
例子:
[Test]
public void ConvertToInt32_NullValue_ThrowException
{
//Test method body
}
您可以安装ReSharper的,并创建一个新动态模板这样的:
[Test]
public void $Method$_$State$_$Expected$()
{
$END$
}
和ASIGN像TST的快捷方式。
现在,您要添加的新方法,每次,你只需要开始写TST并按TAB
两次,它会创建一个方法给你,把插入符上Method
名。在按Enter
之后,插入符号将移动到您写入State
名称的位置,然后为Expected
,然后将其放置在说$END$
的地方。
编辑:
可帮助太多,如果你的名字与_Should
所有的测试。喜欢的东西:
ConvertToInt32_NullValue_ShouldReturnTrue
然后你就可以修改你的模板:
[Test]
public void $Method$_$State$_Should$Expected$()
{
$END$
}
你甚至可以尝试将你的命名约定成几组,并为每个创建一个片段/模板他们。
编辑2:
更多有关此测试的命名约定:Naming Standards For Unit Tests,罗伊Osherove的艺术单元测试作者。
使用PascalCase代替underscore_case
如
ShouldNotAllowNegativeNumberInValue();
耶,没有底线!代码现在减少了80%。
使用较短的名称,并且没有写句子变成一个方法的名称使用更多的东西一样
DisallowNegativeValuesTest()
如果您正在寻找可读的测试,看看黄瓜&小黄瓜为BDD框架。
我认为.NET等价物将是[SpecFlow](http://specflow.org/)。 – TrueWill 2011-11-01 02:48:09
有几个选项,我所知道的制作更容易些: Use AutoHotkey或 Use ReSharper LiveTemplates
是这个问题严重吗?如果是这样,我不明白你的意思。请详细说明。 – Hubro 2011-04-21 02:08:02
@Codemonkey这个问题有什么问题?当然这很严肃。是否很难理解@Carol希望**编写不需要编写_ **的单词由_分隔的方法?这可能存在。例如,将CamelCase命名转换为该名称的东西。不知道。 – 2011-04-21 02:30:15
我编辑了关于命名的问题。不知道我在想什么。再看看它.. – 2011-04-21 02:51:19