我有一个测试。发生的情况是,无论何时首先执行test1,test2都会失败,并显示以下消息:
"System.Data.EntityException : System.Data.EntityException : the underlying provider failed on open. cannot open database "DBEntities" requested by the login. The login failed.".
无论何时首先执行test2,test1都会以相同的消息失败。
在过去的三天里,我一直在做这件事。
[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();
}
}
以下是DBEntities类的摘录:
public class DBEntities : DbContext
{
public DbSet<Books> TheBooks{get;set;}
...
}
运行探查器后,我注意到以下消息:
“用户登录失败。原因:未能打开明确指定的数据库。”
在大量lockAcquired
和lock Release
语句之后。