Я тестирую платформу MbUnit и хочу сохранить тестовую базу данных в постоянном состоянии после каждого теста. Как я могу это сделать?MbUnit Rollback
Это то, что я пытаюсь, но мой стол заполняется после завершения теста.
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:
После некоторого чтения я пришел к пониманию того, что координатор распределенных транзакций должен быть включен. После того, как начиная эту услугу и тестирование еще не успех :(
Помогает ли обновление MBUnit до версии 3.0.6? Из [Анонсирование Gallio и MbUnit v3.0.6] [1] > Изменено [Откат], чтобы ввести контекст транзакции COM +, такой как атрибут оригинального откат MbUnit v2. Это должно устранить проблемы совместимости, которые другие отметили. [1]: http://blog.bits-in-motion.com/2009/03/announcing-gallio-and-mbunit-v306.html – Bender