You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Framework遗留API集成测试:容器数据库连接切换方案

.NET Framework遗留应用集成测试数据库切换方案求助

我维护着一个.NET Framework遗留应用的集成测试,这个测试经常失败——要么是清理操作误删了实际数据库的测试数据,要么是本地机器上带外键关联的表数据量太大,导致删除操作超时。

后来我改用容器化数据库(包含最小数据集)来跑集成测试,不仅测试能稳定通过,执行速度还快了很多。

现在卡在一个问题上:我们的集成测试是在开发者IIS托管的API上运行的,跑测试时需要把API的连接字符串指向Docker数据库;但本地正常运行API时,又得切回LocalDB。因为技术老旧,集成测试没法搭建独立的内存API。

已尝试的方案

  • 尝试把API容器化,但这个.NET Framework项目体量庞大、依赖复杂,遇到了一堆问题,走不通。
  • 有人建议用不同的web.config来切换数据库,但不知道具体怎么操作,求指点。

相关配置信息

部署时连接字符串由Octopus配置,配置界面截图如下:
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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 21:05:32