Je suis en train de tester le framework MbUnit et je souhaite que ma base de test reste dans un état persistant après chaque test. Comment puis-je accomplir cela?MbUnit Rollback
C'est ce que j'essaie, mais mon tableau est rempli une fois le test terminé.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Gallio.Framework;
using MbUnit.Framework;
using NHibernate;
using NHibernate.Cfg;
namespace BusinessLayer.Tests
{
[TestFixture]
public class PersonNHibernateTests
{
[Test]
[Rollback]
public void CanSavePerson()
{
Configuration config = new Configuration();
config.Configure();
ISessionFactory factory = config.BuildSessionFactory();
using (ISession session = factory.OpenSession())
{
using (ITransaction tx = session.BeginTransaction())
{
const string CONST_STR_FIRSTNAME = "Stephen";
const string CONST_STR_LASTNAME = "Manga";
DateTime birthdate = new DateTime(1974, 6, 20);
Person p = new Person
{
FirstName = CONST_STR_FIRSTNAME,
LastName = CONST_STR_LASTNAME,
Birthdate = birthdate
};
session.SaveOrUpdate(p);
session.Flush();
tx.Commit();
}
}
}
}
}
Edit:
Après une lecture que je suis venu à comprendre que Distributed Transaction Coordinator doit être activé. Après le démarrage de ce service et les essais encore sans succès :(
La mise à jour de MBUnit vers la version 3.0.6 est-elle utile? De [Annoncer Gallio et MbUnit v3.0.6] [1] > Modifier [Rollback] pour entrer un contexte de transaction COM + comme l'attribut de restauration d'origine de MbUnit v2. Cela devrait corriger les problèmes de compatibilité que d'autres ont noté. Je suis au courant de la portée de la transaction, mais je veux savoir: [1]: http://blog.bits-in-motion.com/2009/03/announcing-gallio-and-mbunit-v306.html – Bender