In this chapter, we learned why it is important to write tests to verify the correct mapping of the domain model to the underlying database schema. We also implemented a framework which helps us to write mapping tests with as little effort as possible.
We also discussed the value of logging and how we can configure our application to produce logging information.
Lastly, we discussed how we can monitor and profile our application during runtime. We specifically put our focus on the monitoring of the database communication of our application via NHibernate.
After this deep dive into testing and profiling, we are ready to tackle yet another important aspect of NHibernate, namely its configuration. This is the topic of the next chapter.