检测我的测试是否在 Visual Studio Team Services 上运行

Gen*_*ric 4 c# continuous-integration integration-testing asp.net-web-api2 azure-devops

我已经为我正在开发的 API 编写了很多集成测试。

如果我在本地运行集成测试,我想自行托管 API 并针对它运行集成测试。

但是,我在 VS Team 服务上有一个构建定义,该定义在部署 API 后运行集成测试,我想针对已部署的 API 运行测试,但要做到这一点,我必须更改我的代码,使其不再自行托管它,并且而是针对已部署的 API 进行测试。

有没有办法在运行时检测我的测试正在运行的位置?

谢谢

Oha*_*der 5

只需探测VSTS 预定义构建变量之一。例如:

if (Environment.GetEnvironmentVariable("SYSTEM_DEFINITIONID") != null) 
{
    Console.WriteLine("Running from VSTS...");
}
Run Code Online (Sandbox Code Playgroud)