One thing I love about using NHibernate as my O/RM is being able to push the database schema from the domain. This lets me create the database from scratch for each integration test fixture and get it into the required state. Creating the database with NHibernate is quick and simple. Hell, here is the code to do it:
Configuration cfg = container.Resolve<Configuration>();
SchemaExport export = new SchemaExport(cfg);
export.Execute(true, true, false, true);
Nifty, eh?
But tests that hit the database are sloooow, and these quickly become tests that are not ran. Tests that query the database are slow, and because I regenerate the whole database...