我喜歡創造我的測試方法,如:更快速地創建測試方法
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