重命名TestCategory

时间:2014-03-02 14:12:38

标签: c# visual-studio unit-testing nunit test-explorer

在最新版本的Visual Studio中,您可以通过使用属性标记测试来对单元测试进行分类。无论您使用的是MSTest还是NUnit都无关紧要,但此示例基于NUnit。

[Test]
[Category("category 1")]
public void Null_IsNull()
{
    Assert.IsNull(null);
}

现在假设我在category 1中有大约50个测试,分布在许多文件中。 是否有一种白痴证明方式(*)将我的类别重命名为更具描述性的内容?

(*):不是简单的搜索和替换

我尝试过的事情

search and replace

它有效,但我觉得这样做不舒服。

2 个答案:

答案 0 :(得分:1)

这可能不是您需要的,但这是我处理重命名的方式,当我不完全确定是否要重命名所有找到的实例时:

  • 我将左手放在F3上以搜索下一次搜索的术语
  • 我将右手放在鼠标旁边,然后按下按钮以替换下一个替换
  • 的所有内容

然后我只按F3如果我不想更换当前找到的项目,或者我按下替换下一个按钮上的鼠标,如果我想要更换。

对于50个项目,我可能会使用上面的方法,有更多项目(或更多类别要重命名)我也会搜索解决方案。

同样将范围缩小为“当前文档”或仅打开需要重命名的文件并使用“当前打开的文档”与所描述的方法配合良好。

答案 1 :(得分:1)

我认为结论是,Visual Studio还没有一种开箱即用的方法来做你想要做的事情。一切都在那里,但没有ui或命令行或中间窗口来做到这一点。其他工具如Resharper,DevExpress CodeRush提供了一个比Visual Studio本身更易于使用的可扩展性模型。 Roslyn是微软的新编译框架和基于它的编辑器,它将提供与您未来想要的功能相近的功能。

从这些选项中,我认为Resharper的"Search With pattern"功能最接近你正在寻找的功能,你甚至可以save your pattern as a quick-action for later re-use,这很酷(所以它在正确的上下文中创建一个"重命名全部"重构或快速操作将非常容易。

Search with Pattern

除此之外,您可以使用Visual Commander并编写宏来执行您之后的操作。可以通过Visual Studio对象模型访问解决方案中的编辑器和所有文件。

您可以查看Visual Studio的Roslyn to learn how this might be possible in a future version