MbUnit Framework를 테스트 중이며 각 테스트 후에 내 테스트 데이터베이스를 영구 상태로 유지하려고합니다. 이것을 어떻게 할 수 있습니까?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();
}
}
}
}
}
편집 : 분산 트랜잭션 코디네이터가 활성화되어야 이해 오셨습니다 일부 읽은 후
. 여전히 성공 :(
단지 System.Transactions.TransactionScope 그것을 처리하지 왜
MBUnit을 버전 3.0.6으로 업데이트하면 도움이됩니까? [Gallio 및 MbUnit 발표 v3.0.6] [1] > MbUnit v2의 원래 롤백 속성과 같은 COM + 트랜잭션 컨텍스트를 입력하기 위해 [Rollback]을 수정했습니다. 이렇게하면 다른 사람들이 지적한 호환성 문제를 해결할 수 있습니다. [1] : http://blog.bits-in-motion.com/2009/03/announcing-gallio-and-mbunit-v306.html – Bender