我有以下设置 Visual Studio 2012 Update 2 NUnit测试适配器Beta 4 NUnit 2.62
我使用NUnit中的以下任一属性或MSTest中的TestCategory标记测试:
[Category("WebServer")]
public void FooTest() {
//test
}
[TestCategory("WebServer")]
public void FooTest2() {
//test
}
在TFS构建模板中,我设置了属性
当构建执行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控制台运行器,我可以轻松验证该属性是否有效。
答案 0 :(得分:3)
使用NUnit Test Adapter v1.1 +时,可以在TFSBuild上使用测试类别。您只需要在Test Project中安装软件包,并在构建定义上配置测试用例过滤器。
答案 1 :(得分:2)
从here开始,您似乎无法在NUnit测试中使用TestCategory过滤器,仅在MSTest测试中使用。
作为一个注释,您似乎也在更改TFS构建定义的属性,而不是构建模板。这是我所期望的,因为更改构建定义将是改变它的错误位置。
答案 2 :(得分:1)
回答一个老问题,因为这是Google返回的第一个结果。
从here看来,这是一个已在1.1版中修复的错误,不幸的是(截至2014年1月22日)尚未发布到nuget