在VS2010中列出DONT包含关键字的测试结果

时间:2014-06-18 07:33:30

标签: c# visual-studio-2010 visual-studio unit-testing testcase

我是否可以通过指定不应出现的关键字来过滤测试结果?

背景:

我已经编写了一些C#类和方法,但是现在没有实现这些方法(我让它们抛出一个NotImplementedException,以便它们清楚地表明这一点)。我还为这些函数编写了一些测试用例,但它们当前失败了,因为这些方法抛出了NotImplementedException。这没关系,我现在期待这一点。

我想暂时忽略这些测试并查看更有意义的其他测试结果,因此我试图弄清楚如何列出没有" NotImplementedException"的结果。但是,我只能列出具有该关键字的结果,而不是那些不具备该关键字的结果。有什么方法可以列出不要的结果吗?使用一些通配符还是什么?

我在VS2012中看到了很多关于新测试资源管理器的信息,但这并不是2010年的功能,而是我正在使用的功能。

2 个答案:

答案 0 :(得分:1)

如果您愿意,可以通过标记此测试需要抛出异常并通过测试来排除此类测试。

[TestMethod]
[ExpectedException(typeof(NotImplementedException))]
public void NotYetImplementedMethod(Object args)
{
    ....
}

或者,您可以为测试创建类别。这样,如果为大多数测试分配类别,则可以选择在测试资源管理器中运行哪些测试。

[TestMethod]
[Testcategory("NotImplementedNotTested")]
public void NotYetImplementedMethod(Object args)
{
    ....
}

最后但并非最不重要的是最简单的解决方案[Ignore]。这将完全跳过测试。

[TestMethod]
[Ignore]
public void NotYetImplementedMethod(Object args)
{
    ....
}

参考:

答案 1 :(得分:0)

  

我还为这些函数编写了一些测试用例

如果您的测试与TFS上的Test Case工作项相关联,您只需将测试用例的状态设置为Design即可。然后,在Test Plans上排除Designed州的所有测试用例。

如果它们没有链接到实际的测试用例工作项(比如说一批单元测试),我相信最好的解决方案是Ignore属性(如@Serv已经提到的那样)。因为我认为您不想运行尚未实施的测试,也浪费时间了解如何将其从测试结果中排除。