.NET Framework遗留API集成测试:容器数据库连接切换方案
.NET Framework遗留应用集成测试数据库切换方案求助
我维护着一个.NET Framework遗留应用的集成测试,这个测试经常失败——要么是清理操作误删了实际数据库的测试数据,要么是本地机器上带外键关联的表数据量太大,导致删除操作超时。
后来我改用容器化数据库(包含最小数据集)来跑集成测试,不仅测试能稳定通过,执行速度还快了很多。
现在卡在一个问题上:我们的集成测试是在开发者IIS托管的API上运行的,跑测试时需要把API的连接字符串指向Docker数据库;但本地正常运行API时,又得切回LocalDB。因为技术老旧,集成测试没法搭建独立的内存API。
已尝试的方案
- 尝试把API容器化,但这个.NET Framework项目体量庞大、依赖复杂,遇到了一堆问题,走不通。
- 有人建议用不同的web.config来切换数据库,但不知道具体怎么操作,求指点。
相关配置信息
部署时连接字符串由Octopus配置,配置界面截图如下:
DbContext实现代码
public class InternalContext : DbContext { public BloggingContext() : base("**InternalDatabase**") { } }
web.config配置代码
<configuration> <connectionStrings> <add name="**InternalDatabase**" providerName="System.Data.SqlServerCe.4.0" connectionString="Data Source=Blogging.sdf"/> </connectionStrings> </configuration>
内容的提问来源于stack exchange,提问作者DevSay
相关产品推荐
相关产品推荐

