Web Analytics
Back
Featured image of post Azure DevOps 如何在執行測試時傳入環境變數

Azure DevOps 如何在執行測試時傳入環境變數

C# 範例

在執行回歸測試或整合測試時,因為每次執行的環境不同 (我遇到的情境是 SIT 與 UAT都要執行),想要將環境設定寫在 Azure DevOps Pipeline 的變數內,避免寫死 (hardcode) 在程式內,執行測試時就不需要更改程式,只需要在執行 Pipeline 時設定相對應的變數,讓程式以環境變數方式取得。本篇文章將簡單說明如何在 Azure DevOps 執行測試時傳入環境變數。本篇文章若有任何錯誤或建議,請各位前不吝提出。

 

 

測試程式取得環境變數語法

透過 pipeline 執行測試程式時,可以透過下列語法取得環境變數。環境變數是 key-value 格式,所以只需要給 key 名稱即可。

string environment = Environment.GetEnvironmentVariable("Key", EnvironmentVariableTarget.Process)

 

我們將設定一個環境變數 Url=https://study4.tw,測試程式範例如下:

using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;

namespace UnitTests
{
    [TestClass]
    public class UnitTest1
    {
        [TestMethod]
        public void TestMethod1()
        {
            var url = Environment.GetEnvironmentVariable("URL", EnvironmentVariableTarget.Process);
            Assert.AreEqual("https://study4.tw", url);
        }
    }
}

 

 

Azure DevOps Pipeline 設定方式

在 pipeline 中,記得設定 Test Task (下圖為 .NET Core Test Task,若您是 .NET Framework,可以使用 Visual Studio Test Task)。 接下來,我們點選上方變數 (Variables)。

 

選擇左邊 Pipeline variables,點選下方 Add 按鈕,加上 Name 為 URL,Value 為 https://study4.tw

 

點選上方 Save & Queue,執行 Pipeline

 

點選下方 Save & Run 按鈕

 

可以檢視測試結果是成功的,表示我們有成功將變數傳入,程式以環境變數方式取得

Built with Hugo   Theme Stack designed by Jimmy