我目前正在构建一个示例应用程序,我使用MS Test在VS2012中实现基于场景的Given-When-Then风格的UnitTest项目。为此,我有一个抽象的Scenario(基础)类,它具有虚拟的Given() - 和When() - 在TestInitialization阶段运行的方法。然后存储When() - 方法的结果,并且可以在任何具体的Scenario类中使用任意TestMethods来验证,表示'Then'语句。这一切都很完美。
我还想控制一件事:所有TestMethods的名称都显示在Visual Studio的TestExplorer中。这是因为许多TestMethods具有相同或相似的名称,但是在不同的场景中执行(例如'ExpectedExceptionIsThrown')。我本以为MS Test会支持这样的事情,也许是像TestMethodAttribute的原生支持那样:
[TestMethod("DisplayName here...")]
public void ThenThisShouldHappen()
{
...
}
我查看了MS Test的API,但似乎无法找到任何方法来执行此操作。 MS Test是否可以实现这一点?
答案 0 :(得分:1)
我一直在为这个概念苦苦挣扎,直到我意识到你可以右键单击Test Explorer 区域并选择 Group By - >类强>
这并不是完美的,但结合测试播放列表和/或Resharper提供的所有功能,可以稍微定制您的测试体验。