如何仅在azure devops CI env中而不是在本地运行某些NUnit测试

问题描述 投票:0回答:1

与此相同:How to run some tests only in azure devops CI env but not locally,但对于NUnit,而不是xUnit。

我希望我的Azure DevOps管道运行某些测试,而不是本地(VisualStudio + R#)IDE。

链接的问题使用自定义xUnit属性解决了此问题,但是我的项目使用NUnit,因此该问题的答案无济于事。

c# azure-devops nunit
1个回答
0
投票
  • 扩展NUnitAttributeIApplyToTest(Test test)以创建自定义属性,该属性将允许您控制是否运行特定测试。

  • ApplyToTest的实现中,使用new IgnoreAttribute("Blah").ApplyToTest(Test test)忽略测试(如果适用)。

    • IgnoreAttribute.ApplyToTest()不是虚拟的,因此您不能安全地从IgnoreAttributeoverride派生该方法。改为更安全地使用此合成。
  • 使用Environment.GetEnvironmentVariable通过检查是否定义了特定的环境变量(您自己定义的变量或AzureDevOps定义的自动定义的变量之一)来确定是否跳过测试。 )

    • 我发现检查TF_BUILD.Machine.User中的任何环境变量都很方便。看到这里:.Process
© www.soinside.com 2019 - 2024. All rights reserved.