4

我有以下设置 Visual Studio 2012 Update 2 NUnit Test Adapter Beta 4 NUnit 2.62

我使用来自 NUnit 的以下属性 Category 或来自 MSTest 的 TestCategory 标记测试:

[Category("WebServer")]
public void FooTest() {
 //test
}


[TestCategory("WebServer")]
public void FooTest2() {
 //test
}

在 TFS 构建模板中,我设置了属性

  1. Basic -> 1. Test Source -> Test Case Filter to the value: TestCategory!=WebServer

当构建执行 NO TESTS 时执行。移除过滤器并再次运行所有测试。

构建日志的输出是

C:\Builds\2\Proj\Build\bin\Debug\Tests.Integration.dll C:\Builds\2\Proj\Build\bin\Debug\Tests.Unit.dll C:\Builds\ 中没有可用的测试2\Proj\Build\bin\Debug\Tests.Web.dll C:\Builds\2\Proj\Build\bin\Debug\TestStack.BDDfy.dll。确保已安装的测试发现器和执行器、平台和框架版本设置正确,然后重试。

有什么线索可以让我根据类别名称排除测试吗?如果我使用 NUnit 控制台运行程序,我可以轻松验证该属性是否有效。

4

3 回答 3

3

使用NUnit Test Adapter v1.1+ 时,可以在 TFSBuild 上使用测试类别。您只需要使用您的测试项目安装该软件包,并在您的构建定义上配置测试用例过滤器。

于 2014-12-18T12:00:19.970 回答
2

这里看来,您不能在 NUnit 测试中使用 TestCategory 过滤器,只能在 MSTest 测试中使用。

请注意,您似乎正在更改 TFS 构建定义上的属性,而不是构建模板。这是我所期望的,因为更改构建定义将是更改它的错误位置。

于 2013-05-29T16:39:19.763 回答
1

回答一个老问题,因为这是 Google 返回的首批结果之一。

这里看来,这是一个已在 1.1 版中修复的错误,不幸的是(截至 2014 年 1 月 22 日)尚未发布到 nuget

于 2014-01-22T18:06:41.513 回答