[英]How can I ignore NUnit tests of a certain category while doing a Jenkins build?
[英]How to determine which nunit tests to run or ignore while building in build server
我想指定要在构建服务器中构建项目时运行的测试子集,以便其集成测试运行。
我在这里找到了MSTest
测试的解决方案: 使用DefaultTemplate.xaml忽略TFS构建服务器中的测试类别
但对Nunit无效。
我已经找到Nunit的Category
属性,但是在构建模板中设置此属性无效:
Category=IntegrationTest
当我将测试标记为:
[Category("IntegrationTest")]
[TestFixture]
public MyTestClass ...
您可以创建自定义类别(继承类别类),然后在构建脚本中可以忽略此类别
这是psake + mstest的示例,但可以轻松地应用于NUnit和您使用的任何构建系统
http://log.ld.si/post/longrunningtests-as-a-separate-psake-task
为什么将它们放在同一个项目中? 我建议将集成测试分离到单独的程序集中。 由于它们是不同的“事物”,因此它们“应该”分开!
我们遇到了同样的问题,我想出了这个解决方案。 将您的UnitTests放置在一个(或多个)项目中,将IntegrationTests放置在另一个(或多个)项目中。 提示是通过项目名称来标识其UnitTest或IntegrationTest。 例如,除了其他特定描述外,我们将所有UnitTest项目命名为“ UnitTest”。
然后,在您的builddefinition中,您可以描述过滤器,即buildserver应该使用哪些dll来加载单元测试,并且仅加载文件名中包含UnitTest的dll。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.