私はMbUnitフレームワークをテストしており、テストごとにテストデータベースを永続的な状態に保ちたいと考えています。どうすればこれを達成できますか?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();
}
}
}
}
}
編集:私は分散トランザクションコーディネータを有効にする必要があり理解に来ているいくつか読んだ後
。まだ成功して、このサービスとテストを開始していない後:(
MBUnitをバージョン3.0.6に更新するのは役に立ちますか? [GallioとMbUnitのアナウンスv3.0.6] [1] > MbUnit v2の元のロールバック属性のようなCOM +トランザクションコンテキストを入力するように[ロールバック]を変更しました。これにより、他の人が指摘した互換性の問題が修正されます [1]:http://blog.bits-in-motion.com/2009/03/announcing-gallio-and-mbunit-v306.html – Bender