我有一个测试.发生的事情是,无论何时首先执行test1,test2都会失败并显示以下消息:
"System.Data.EntityException:System.Data.EntityException:基础提供程序在打开时失败.无法打开登录请求的数据库"DBEntities".登录失败."
并且每当首先执行test2时,test1将失败并显示相同的消息.
过去3天我一直在这里.
[TestClass]
class MyTestClass
{
DBEntities db;
[TestInitialize]
public void Initializer()
{
db = new DBEntities();
}
[TestMethod]
public void test1()
{
db.Books.Add(new Book{ ...});
db.SaveChanges();
}
[TestMethod]
public void test2()
{
db.Books.Add(new Book{ ...});
db.SaveChanges();
}
[TestCleanup]
public void Clean()
{
db.Dispose();
}
}
Run Code Online (Sandbox Code Playgroud)
这是DBEntities类的摘录:
public class DBEntities : DbContext
{
public DbSet<Books> TheBooks{get;set;}
...
}
Run Code Online (Sandbox Code Playgroud)
运行探查器后,我注意到这条消息:
"用户登录失败.原因:未能打开明确指定的数据库."
经过大量的lockAcquired和lockReleased陈述.