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.
