我有一个api项目,我想在Azure发布管道中运行一些集成测试。
我陷入了第4步。很容易在Visual Studio中将参数传递给测试装置。
[TestFixture(arguments: "https://urltomyslot.azurewebsites.net")]
public class CachedClientApiTokenManagerTests
{
public CachedClientApiTokenManagerTests(string authority)
{
_authority = authority;
}
private readonly string _authority;
// Runs tests using the url
}
我不知道该怎么做,是基于环境从Azure Devops传递参数。我正在使用NUnit3TestAdapter包,它运行良好,但是args是问题的症结所在。如果在实验室环境中执行此操作,则传递的url与暂存或生产url不同。
我们如何在带有参数的Azure DevOps中配置它?
答案 0 :(得分:1)
您可以在变量中定义环境:
然后以这种方式读取C#代码中的变量:
string environment = Environment.GetEnvironmentVariable("environment", EnvironmentVariableTarget.Process);
现在取决于environment
的值来创建URL并运行测试。
例如,我创建了一个小型控制台应用程序:
class Program
{
static void Main(string[] args)
{
string environment = Environment.GetEnvironmentVariable("environment", EnvironmentVariableTarget.Process);
if (environment == "prod")
{
Console.WriteLine("We are in production :)");
}
}
}
我配置了变量:
然后运行.exe
文件,在输出中我可以看到打印的We are in production :)
:
答案 1 :(得分:1)