1 回答
TA贡献1802条经验 获得超5个赞
您可以使用环境变量设置测试环境。Environment.GetEnvironmentVariable()是调用读取环境变量的方法。
这是一个例子:
Program.cs(在控制台应用程序中):
using System;
namespace TestEnvironmentVariable
{
class Program
{
static void Main(string[] args)
{
string testEnvironment = Environment.GetEnvironmentVariable("test_env");
Console.WriteLine($"Test environment: {testEnvironment}");
}
}
}
运行.bat:
set test_env=uat
TestEnvironmentVariable.exe
运行 run.bat 时:
>run.bat
>set test_env=uat
>TestEnvironmentVariable.exe
Test environment: uat
您还可以将所有设置放入一个用作配置文件的 json 文件中。它还使得无需编译即可更改设置成为可能。这是一个小例子:
创建一个 json 文件,例如 settings.json:
{
"TestEnvironment": "UAT"
}
它可以在解决方案的根文件夹中创建。在文件的属性中,将 Copy to Output Directory 设置为Copy always或Copy if newer。这确保它被移动到二进制输出目录。
然后创建一个 Settings.cs 文件,代表我们将 json 文件反序列化为的类:
namespace TestEnvironmentVariable
{
public sealed class Settings
{
public Settings() { }
public string TestEnvironment { get; set; }
}
}
您可以在需要时在此处添加更多变量。json 文件应具有相同的变量。然后是反序列化的代码:
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 关注
- 72 浏览
添加回答
举报