模拟得到错误的连接字符串
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
{
}
...
}
我正在写一些测试。我在嘲笑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
{
}
...
}