[英]How to run some tests only in azure devops CI env but not locally
[英]How to run some NUnit tests only in azure devops CI env but not locally
与此相同: How to run some tests only in azure devops CI env but not local ,但适用于 NUnit,而不是 xUnit。
我希望我的一些测试由我的 Azure DevOps 管道运行,而不是由我的本地 (VisualStudio + R#) IDE 运行。
链接问题使用自定义 xUnit 属性解决了这个问题,但我的项目使用 NUnit,因此对该问题的回答无济于事。
扩展NUnitAttribute
和IApplyToTest(Test test)
以创建自定义属性,允许您控制是否运行特定测试。
在ApplyToTest
的实现中,使用new IgnoreAttribute("Blah").ApplyToTest(Test test)
忽略测试(如果适用)。
IgnoreAttribute.ApplyToTest()
不是虚拟的,因此您不能安全地从IgnoreAttribute
派生并override
该方法。 改用这种组合物更安全。 使用Environment.GetEnvironmentVariable
来确定是否跳过测试,方法是检查是否定义了特定的环境变量(您自己定义的变量,或者 AzureDevOps 定义的自动定义变量之一,例如TF_BUILD
)
.Machine
、 .User
或.Process
检查任何环境变量都很方便。 见这里: https://stackoverflow.com/a/41410599/1662268
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.