c# - 集成测试中的静态配置文件
问题描述
我的集成测试中有一个返回配置文件的方法。
IConfiguration ConfigGet()
{
IConfiguration config = new ConfigurationBuilder().AddJsonFile("cosmos.config.json").Build();
return config;
}
如果我的 Test 类中有多个测试,例如:
[Fact]
public async Task SaveSomething_ReturnsId()
{
var config = ConfigGet();
var container = CosmosUtils.GetContainer(config["connectionString"], config["dbName"], config["collectionName"]);
IDriverDataAccess driverDataService = new DriverDataAccess(container);
IDriver driver = new Driver
{
Id = "123",
Email = "123@123.com"
};
var id = await driverDataService.Save(driver);
etc
}
和
[Fact]
public async Task GetByEmail()
{
IConfiguration config = ConfigGet();
var email = "pjs@pjs.com";
var container = CosmosUtils.GetContainer(config["connectionString"], config["dbName"], config["collectionName"]);
IDriverDataAccess driverDataService = new DriverDataAccess(container);
IDriver driverByEmail = await driverDataService.GetByEmail(email);
Assert.NotNull(driverByEmail);
}
如何避免每次测试都加载配置文件?我需要将其设为静态属性吗?
解决方案
推荐阅读
- angular - Angular 路由 - URL 注入安全问题:redirectTo '' 和 '/' 有什么区别?
- bash - 模块化 awk 脚本以屏蔽分隔文件中的敏感数据
- azure-api-management - 替换服务 url 是 arm 模板
- regex - 我正在尝试编写一个正则表达式来捕获逗号之前的名称字符串,不包括 Jr.|Sr。和罗马数字
- android - 应用标头未明确定义但存在
- javascript - 如何修复 MIME 类型错误?ubuntu 与 windows
- linkedin - LinkedIn API 请求失败,并显示“RESOURCE_KEY 中存在未经允许的字段:处理字段时出现数据处理异常 [/memberId]”
- javascript - JQuery - 查找任何级别的所有后代,但不是那些后代的后代
- mysql - 如果一年内没有发生销售,则缺失行与其他
- awk - 如何使用 AWK 在特定时间段之间获取价值