我正在编写一些针对在 docker 上运行的 SQL Server 实例运行的 aspnetcore 集成测试。我计划使用 xUnit 集合并在不同的端口上为特定的测试集合启动一个单独的 SQL Server 容器实例。所以多个 SQL Server 实例在不同的端口上运行。我创建了一个单独的appsettings.testing.json
文件,将在测试host
开始时加载。此设置 json 文件具有测试host
开始进行测试时将用于连接的连接字符串。
{
"Logging": {
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
},
"ConnectionStrings": {
"TestDb": "Server=.;Database=MyDb;MultipleActiveResultSets=true;user id=sa;password=Password01!;TrustServerCertificate=True"
}
}
TestDb
有没有办法让我在开始测试时覆盖 key 的值host
?与启动主机之前一样,我在特定端口上启动 SQL 容器,并希望host
使用修改后的连接字符串,该字符串将包含port
并连接到它。
我一直在检查文档,但无法理解是否有办法在运行时执行此操作?