Ich habe einen Test. Was passiert, ist, dass, wenn test1 zuerst ausgeführt wird, test2 mit der Meldung fehlschlägt:
"System.Data.EntityException : System.Data.EntityException : Der zugrundeliegende Anbieter ist beim Öffnen gescheitert. Die Datenbank kann nicht geöffnet werden. "DBEntities", die durch die Anmeldung angefordert wurde. Die Anmeldung ist fehlgeschlagen.".
und immer, wenn test2 zuerst ausgeführt wird, schlägt test1 mit der gleichen Meldung fehl.
Ich habe die letzten 3 Tage damit verbracht.
[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();
}
}
Hier ist ein Auszug aus der Klasse DBEntities :
public class DBEntities : DbContext
{
public DbSet<Books> TheBooks{get;set;}
...
}
Nachdem ich einen Profiler ausgeführt hatte, fiel mir diese Meldung auf:
"Anmeldung für Benutzer fehlgeschlagen. Grund: Die explizit angegebene Datenbank konnte nicht geöffnet werden."
nach einer Menge lockAcquired
y lockReleased
Erklärungen.