1 回答

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個贊
您可以使用環(huán)境變量設(shè)置測試環(huán)境。Environment.GetEnvironmentVariable()是調(diào)用讀取環(huán)境變量的方法。
這是一個例子:
Program.cs(在控制臺應(yīng)用程序中):
using System;
namespace TestEnvironmentVariable
{
class Program
{
static void Main(string[] args)
{
string testEnvironment = Environment.GetEnvironmentVariable("test_env");
Console.WriteLine($"Test environment: {testEnvironment}");
}
}
}
運(yùn)行.bat:
set test_env=uat
TestEnvironmentVariable.exe
運(yùn)行 run.bat 時:
>run.bat
>set test_env=uat
>TestEnvironmentVariable.exe
Test environment: uat
您還可以將所有設(shè)置放入一個用作配置文件的 json 文件中。它還使得無需編譯即可更改設(shè)置成為可能。這是一個小例子:
創(chuàng)建一個 json 文件,例如 settings.json:
{
"TestEnvironment": "UAT"
}
它可以在解決方案的根文件夾中創(chuàng)建。在文件的屬性中,將 Copy to Output Directory 設(shè)置為Copy always或Copy if newer。這確保它被移動到二進(jìn)制輸出目錄。
然后創(chuàng)建一個 Settings.cs 文件,代表我們將 json 文件反序列化為的類:
namespace TestEnvironmentVariable
{
public sealed class Settings
{
public Settings() { }
public string TestEnvironment { get; set; }
}
}
您可以在需要時在此處添加更多變量。json 文件應(yīng)具有相同的變量。然后是反序列化的代碼:
using System.IO;
using Newtonsoft.Json;
namespace TestEnvironmentVariable
{
public static class SettingsUtil
{
public static T GetObjectFromJsonFile<T>(string filename)
{
string json = File.ReadAllText(filename);
var deserializedObject = JsonConvert.DeserializeObject<T>(json);
return deserializedObject;
}
}
}
您必須使用 NuGet 添加 Newtonsoft.Json。然后我們可以在代碼中讀取 json 文件:
using System;
namespace TestEnvironmentVariable
{
class Program
{
static void Main(string[] args)
{
Settings settings = SettingsUtil.GetObjectFromJsonFile<Settings>("settings.json");
Console.WriteLine($"Test environment: {settings.TestEnvironment}");
}
}
}
輸出:
>TestEnvironmentVariable.exe
Test environment: UAT
- 1 回答
- 0 關(guān)注
- 97 瀏覽
添加回答
舉報