我有一个从 DbContext 继承的类,实现了代码优先的实体框架对象。
我想要一个单元测试来在这个 dbcontext 中练习模型构建器——这对于检测“实体上未定义键”错误之类的东西很有用。
但是在单元测试期间我可能没有可用的实际数据库。有没有办法在不实际尝试与上下文建立数据库连接的情况下练习此代码。我尝试了一些无害的东西,例如:
var ctx = new MyDbContext("Data Source=(local);Initial Catalog=Dummy;<.......>");
var foo = ctx.GetValidationErrors(); //triggers DBModelBuilder, should throw if my DBModel is goofed up
这在技术上确实有效。但是,这需要很长时间才能运行——如果我暂停并检查调用堆栈,它将触发对 System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin 的调用
最终它超时,吞下连接错误并完成我的测试。
有没有办法在没有连接尝试的情况下做到这一点?