簡體   English   中英

流利的Nhibernate:SQLite,在nunit測試結束時回滾

[英]Fluent Nhibernate: SQLite, rollback in the end of nunit test

我想測試持久性是否正常工作,但是所做的更改不會影響生產數據庫(SQL Server數據庫)中的任何內容。

因此,我正在考慮將sqlite內存數據庫作為測試數據庫來嘗試持久化事務,並在測試結束時進行回滾。

這可能嗎 ? 以及如何做到這一點? NUnit 2.6.2是否沒有回滾屬性或TransactionScope?

編輯:

還是我真的需要在每個測試中這樣做:

   [Test]
    public void TestPersistPerson()
    {
        using (var transaction = _inMemoryDatabase.Session.Transaction)
        {
                transaction.Begin();
                _inMemoryDatabase.Session.Save(new Person("Name"));
                transaction.Rollback();
        }
    }

[SetUp][TearDown]屬性就是這種情況。

private ITransaction _transaction;

[SetUp]
public void StartTransaction()
{
    _transaction = _inMemoryDatabase.Session.Transaction
    _transaction.Begin();
}

[TearDown]
public void RollbackTransaction()
{
    _transaction.Rollback();
    _transaction.Dispose();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM