After a slight delay to give myself time to properly setup some of the infrastructure needed to better distribute these screencasts to everyone, I am pleased to announce the immediate availability of the fourth installment in the series (oddly enough entitled ‘Session 03’ for reasons explained here).
In this session we start to dig into patterns for using NHibernate to perform modifications to the data in our sample database by asking it to perform INSERT, UPDATE, and DELETE commands on our data.
As this session also introduces the first of our unit tests that exercise methods that begin to actually make changes to the data in our test database, we spend some time up front dealing with some unit test infrastructure work. This work is needed to wire up some custom tooling that we use to ensure that the database is in a known state both before and after each of our tests are run. While this part of the session isn’t per-se purely about NHibernate, hopefully anyone doing data-dependent unit tests will still find it of interest to see how our company has addressed the challenges of database state-management before, during, and after unit tests are run against the database.
Anyone not interested in seeing how we do this is welcome to fast-forward past the first 15-20 minutes of this screencast.
Astute long-time readers of my blog should note that the techniques presented in this screencast for dealing with data-dependencies in unit tests are a more advanced and better-integrated way of leveraging the NDbUnit framework in a way very similar to that mentioned in these prior post of mine from way-back:
- Inside the Sausage Factory: PART 17 (Approach to testing the DAL)
- Inside the Sausage Factory: PART 18 (Building Data-dependent Unit Tests)
- Inside the Sausage Factory: PART 19 (Coding the Data-dependent Unit Tests)
Thankfully, the download for this session is now available as a single AVI file from the newly-launched www.SummerOfNHibernate.com site (where you can also find an RSS feed for the videos which will further ease access to the content).
As always, comments, feedback, etc. are always welcome.