我想拦截var context = new MyDbContext()
以返回不同的构造函数调用。
EFfort的伟大之处在于它可以让您为单元测试设置一个简单的内存数据库。
var connection = Effort.DbConnectionFactory.CreateTransient();
var testContext = new MyDbContext(connection);
但是你必须将它注入context
到你的存储库中。
public FooRepository(MyDbContext context) { _context = context; }
是否有可能只是拦截var context = new MyDbContext()
,以便它返回testContext
?
using (var context = new MyDbContext()) {
// this way, my code isn't polluted with a ctor just for testing
}