我寫了一堆測試的一類,並坦率地說我不想去命名每個測試的努力智能化:「Compare2002to2002forLessThanOrEqual」在Visual Studio中,有沒有辦法自動生成唯一的方法名稱?
我冷靜通過TestMethod120 TestMethod1 - 但我我們必須編輯每個名字,這會讓人討厭。是否有任何插件會爲使用[TestMethod]屬性標記的類中的所有方法生成唯一名稱?
我寫了一堆測試的一類,並坦率地說我不想去命名每個測試的努力智能化:「Compare2002to2002forLessThanOrEqual」在Visual Studio中,有沒有辦法自動生成唯一的方法名稱?
我冷靜通過TestMethod120 TestMethod1 - 但我我們必須編輯每個名字,這會讓人討厭。是否有任何插件會爲使用[TestMethod]屬性標記的類中的所有方法生成唯一名稱?
如果你從頭開始編寫不同的測試方法,那麼方法的命名不應該是一個很大的開銷。這表明您可能會複製並粘貼測試方法並更改某些值,並可能違反了DRY principle。如果是這種情況,用抽象重構測試會不會更好,讓您使用更少的方法(甚至可能是更少的方法),然後提供一組方法可以迭代的測試條件?
這樣做的好處可能是,如果模塊的接口和功能正在測試的變化,你只需要改變單一的測試方法,而不是很多。
這不完全清楚你想要什麼功能。你如何設想這個名字產生?您是否在尋找編輯器,只要鍵入[TestMethod],就吐出一個方法名稱?
如果是這樣的功能今天在Visual Studio中不存在。
這會是很酷,但更重要的是,如果將通過文件運行時,檢測出所有的欺騙方法名,並解決這一切對我來說沒有任何錯誤。 – 2009-07-28 15:35:01
您可以創建一個code snippet,填寫大部分名稱。像這樣:
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title></Title>
<Description></Description>
<Author></Author>
<Shortcut>test</Shortcut>
</Header>
<Snippet>
<!-- Add additional Snippet information here -->
<Declarations>
<Literal>
<ID>val</ID>
<ToolTip></ToolTip>
<Default>val</Default>
</Literal>
<Literal>
<ID>condition</ID>
<ToolTip></ToolTip>
<Default>condition</Default>
</Literal>
</Declarations>
<Code Language="CSharp">
<![CDATA[ [TestMethod] public string Compare$val$to$val$for$condition$
{
} ]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
好點。我必須考慮這一點。 – 2009-07-28 15:48:34