Transactions seem like a good candidate for such things, but I've ended up
clearing all table data before or after each test.

/G

2015-11-12 1:28 GMT+01:00 Samir Aguiar <[email protected]>:

> Hi,
>
> I'm new to nHibernate.
> In my current setup, I have a database which is cleaned by nHibernate
> before each unit test.
> A session is opened, the tables are either created or truncated, data is
> loaded and the tests run. The changes done by the tests are then commited
> and the session is closed.
>
> What I'm trying to accomplish is to make nHibernate recreate the tables
> and load the data only once before each fixture runs. Each test would then
> run in a single transaction and the changes could be rolled back when they
> ended.
>
> My first attempt was to run the fixture setup inside an ITransaction
> scope, commit and close the section, then open and close it again (also
> using ITransaction) before and after each test ran. I then ran into a
> "session is closed" exception and some error about the object
> (ITransaction) being already disposed.
> My second attempt was to reuse the session (which is only opened in the
> fixture setup and closed in the fixture tear down) and run the unit tests
> inside a ITransaction scope. This led to a second problem: there are one or
> two calls to Session.Flush() in the code being tested; I believe that this
> cannot be done when running inside an ITransaction scope.
>
> Do you have any guidance or advice on how this could be accomplished?
> Any article or reading material that explained a similar setup is also
> appreciated.
>
> Thanks in advance.
>
> Samir
>
> --
> You received this message because you are subscribed to the Google Groups
> "nhusers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/nhusers.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/nhusers.
For more options, visit https://groups.google.com/d/optout.

Reply via email to