如何确定在生成服务器中生成时要运行或忽略哪些nunit测试

本文关键字:测试 nunit 何确定 服务器 运行 | 更新日期: 2023-09-27 18:29:35

当项目在构建服务器中构建时,我想指定要运行的测试的子集,以便运行其集成测试。

我在这里找到了MSTest测试的解决方案:使用DefaultTemplate.xaml 忽略TFS生成服务器中的测试类别

但这对努尼特不起作用。

我找到了Nunit的Category属性,但在构建模板中设置它不起作用:

Category=IntegrationTest

而我的测试标记为:

[Category("IntegrationTest")]
[TestFixture]
public MyTestClass ...

如何确定在生成服务器中生成时要运行或忽略哪些nunit测试

您可以创建自定义类别(继承类别类别),然后在构建脚本中可以忽略此类别

这是psake+mstest的一个例子,但它可以很容易地应用于NUnit和任何使用的构建系统

http://log.ld.si/post/longrunningtests-as-a-separate-psake-task

为什么在同一个项目中有它们?我建议将集成测试分离到一个单独的程序集。既然它们是不同的"东西",它们"应该"分开!

我们也遇到过同样的问题,我提出了这个解决方案。将UnitTest放在一个(或多个)项目中,将IntegrationTest放在另一个项目(或多个中)中。线索是通过项目名称来识别其UnitTest或IntegrationTest。例如,除了其他具体描述外,我们还将所有UnitTest项目命名为"UnitTest"。

然后,在您的构建定义中,您可以描述构建服务器应该使用哪些dll来加载单元测试,并且只加载文件名中包含UnitTest的dll的过滤器。