Я тестирую инфраструктуру MbUnit и хочу поддерживать тестовую базу данных в постоянном состоянии после каждого теста. Как я могу сделать это?
Это то, что я пытаюсь, но моя таблица заполняется после завершения теста.
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:
После некоторого чтения я пришел к выводу, что координатор распределенных транзакций должен быть включен. После запуска этой службы и тестирования все равно не удалось: (