与此相同:How to run some tests only in azure devops CI env but not locally,但对于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