J'ai une classe de base pour mes tests unitaires qui établit une transaction simple autour de chaque test.TransactionAbortedException dans TestInitialize
public class TestBase
{
TransactionScope _trans;
[TestInitialize()]
public void Init()
{
_trans = new TransactionScope();
}
[TestCleanup()]
public void Cleanup()
{
_trans.Dispose();
}
}
Dans une de mes classes inheriting J'ai un tas de travail que je veux faire une fois, avant que l'un de ces tests sont effectués - cela devrait revenir après tous les tests de la classe sont terminés.
[TestClass]
public class MyTests : TestBase
{
static TransactionScope _transClass;
[ClassInitialize()]
public static void ClassInit(TestContext context)
{
_transClass = new TransactionScope();
//do some setup
}
[ClassCleanup()]
public static void ClassCleanup()
{
_transClass.Dispose();
}
[TestMethod()]
public void TestMethod()
{
//do some testing
}
}
Ma classe actuelle a bien sûr plusieurs méthodes de test. La première méthode de test passe bien, mais la seconde lève une exception TransactionAbortedException lorsqu'elle tente de configurer un nouveau TransactioScope dans TestInitialize. Quelqu'un pourrait-il expliquer ce que j'ai mis en place ici?