模拟得到错误的连接字符串

Mock get wrong connection String

我正在写一些测试。我在嘲笑entity framework。昨天一切正常,我几乎可以肯定我没有修改昨天的任何内容。 在我的测试项目的 app.config 中,我有这个连接字符串

<connectionStrings>
  <add name="PublicAreaContext"
      providerName="System.Data.SqlClient" connectionString="Server=.\SQLSERVER; ..." />
</connectionStrings>

现在我模拟我的 entity framework 上下文:

var mockContext = new Mock<PublicAreaContext>() { CallBase = true };
... // all my entities mocked
mockContext.Setup(x => x.SaveChanges()).Returns(1);

现在,当我开始测试时出了点问题,上下文似乎是使用错误的连接字符串创建的

我不明白该连接字符串在哪里...我在 SQLEXPRESS 解决方案中查找它,但没有找到任何内容。在我的服务器 (SQLSERVER) 中,我可以找到一个名为 Castle.Proxy.PublicAreaContext 的数据库。我认为是昨天一切正常时创建的数据库。

你能告诉我可能是什么问题,或者我怎样才能正确设置连接字符串?

谢谢

我已经解决了...

我认为当我模拟上下文时,上下文更改了它的名称...所以没有找到 connectionString... 我已经更改了我的上下文,添加了以下构造函数:

public partial class PublicAreaContext : DbContext, IDataContext
{
    public PublicAreaContext() 
        : base("PublicAreaContext") //Here go the name of connection string
    {

    }

    ...
}