1

I am working on a project that has over 2000 integration tests that full circles the database. I want to speed up the process so I thought why not fake the database.

We are using Fluent NHibernate as our ORM which is probably why I am having such trouble. We have already implemented this concept in a program that does not use NHibernate but rather basic CRUD operations.

Basically on any CRUD operation I would like to save the object in memory to say a dictionary list. This will speed up the process of our tests which will hopefully lessen our build times. Not to mention the cool factor.

I have looked into having two separate sessions and having the session factory use one or the other but I would have to implement many methods/properties that I really don't care about.

I also considering using a go between in class that does the translating myself but it would probably include me changing A LOT of existing code. I am trying to limit the impact on the rest of the project as much as possible so regression testing will not be a HUGE factor.

Please let me know of any other suggestions anyone has!

Thanks!

colemn615
  • 151
  • 1
  • 3

1 Answers1

1

Use a SQLite in-memory database. Here's the blog post that originally showed me how...

http://jasondentler.com/blog/2009/08/nhibernate-unit-testing-with-sqlite-in-memory-db/

dotjoe
  • 26,242
  • 5
  • 63
  • 77