下面是一个使用不同配置进行集成测试的示例解决方法:
appsettings.Test.json
的配置文件。该文件将包含用于测试的特定配置项。例如:{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=TestDb;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}
在测试项目中,添加对 Microsoft.Extensions.Configuration
和 Microsoft.Extensions.Configuration.Json
的引用。
在测试类中添加一个 IConfiguration
的私有字段,并在构造函数中进行注入。
public class IntegrationTests
{
private readonly IConfiguration _configuration;
public IntegrationTests()
{
var configBuilder = new ConfigurationBuilder()
.SetBasePath(AppContext.BaseDirectory)
.AddJsonFile("appsettings.Test.json");
_configuration = configBuilder.Build();
}
[Fact]
public void TestSomething()
{
// 使用 _configuration 获取测试配置项并进行测试
var connectionString = _configuration.GetConnectionString("DefaultConnection");
// 进行测试逻辑
}
}
_configuration
对象来获取特定的配置项,并使用它们进行集成测试。注意:确保在运行集成测试时,将 appsettings.Test.json
文件复制到测试项目的输出目录中,以便测试项目能够找到该文件。
上一篇:ASP.NET Core: 使用 Scopes 的 JWT 令牌
下一篇:ASP.NET Core: 使用Kestrel同时监听`https://mydomain`和`https://www.mydomain`