9

我目前正在构建一个示例应用程序,在其中我使用 MS Test 在 VS2012 中实现基于场景的 Given-When-Then-style UnitTest-project。为此,我有一个抽象的场景(基)类,它具有在 TestInitialization 阶段运行的虚拟 Given() 和 When() 方法。然后存储When() 方法的结果,并且可以使用任何具体场景类中的任意TestMethods 进行验证,代表“Then”语句。这一切都完美无缺。

不过,我还想控制一件事:在 Visual Studio 的 TestExplorer 中显示的所有 TestMethod 的名称。这是因为许多 TestMethod 具有相同或相似的名称,但在不同的场景中执行(例如“ExpectedExceptionIsThrown”)。我原以为 MS Test 会支持这样的事情,也许是通过对 TestMethodAttribute 的本机支持,如下所示:

[TestMethod("DisplayName here...")]
public void ThenThisShouldHappen()
{
  ...
}

我查看了 MS Test 的 API,但似乎找不到任何方法来做到这一点。使用 MS Test 是否有可能?

4

1 回答 1

1

我自己在这个概念上苦苦挣扎了一段时间,直到我意识到您可以右键单击测试资源管理器区域并选择Group By -> Class

这并不完美,但结合测试播放列表和/或 Resharper 提供的所有功能,可以稍微自定义您的测试体验。

于 2015-12-10T09:23:42.323 回答