我正在为一个类编写一堆测试,坦率地说,我不想去智能地命名每个测试:“Compare2002to2002forLessThanOrEqual”
我对TestMethod1通过TestMethod120很酷 - 但是我必须编辑每个名字,这很烦人。是否有任何插件可以为使用[TestMethod]属性标记的类中的所有方法生成唯一名称?
答案 0 :(得分:4)
如果从头开始编写不同的测试方法,那么方法的命名不应该是一个很大的开销。这表明您可能会复制并粘贴测试方法并更改某些值,并可能违反DRY principle。如果是这种情况,用抽象重构测试不是更好,只留下更少的方法(甚至可能是一个),然后提供一组方法可以迭代的测试条件?
这样做的一个好处是,如果您正在测试的模块的接口或功能发生变化,您只需更改单个测试方法而不是更多。
答案 1 :(得分:0)
目前还不完全清楚你想要的功能。您如何设想生成此名称?一旦输入[TestMethod],您是否正在寻找编辑器来吐出方法名称?
如果是这样,今天Visual Studio中不存在这样的功能。
答案 2 :(得分:0)
您可以创建一个填充大部分名称的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>