SQLite assembly not copied to output folder for unit testing
Posted
by Groo
on Stack Overflow
See other posts from Stack Overflow
or by Groo
Published on 2010-04-27T07:00:16Z
Indexed on
2010/04/27
7:03 UTC
Read the original article
Hit count: 434
Problem: SQLite assembly referenced in my DAL assembly does not get copied to the output folder when doing unit tests (Copy local is set to true
).
I am working on a .Net 3.5 app in VS2008, with NHibernate & SQLite in my DAL. Data access is exposed through the IRepository interface (repository factory) to other layers, so there is no need to reference NHibernate
or the System.Data.SQLite
assemblies in other layers.
For unit testing, there is a public factory method (also in my DAL) which creates an in-memory SQLite session and creates a new IRepository implementation. This is also done to avoid have a shared SQLite in-memory config for all assemblies which need it, and to avoid referencing those DAL internal assemblies.
The problem is when I run unit tests which reside a separate project - if I don't add System.Data.SQLite
as a reference to the unit test project, it doesn't get copied to the TestResults...\Out folder (although this project references my DAL project, which references System.Data.SQLite
, which has its Copy local property set to true
), so the tests fail while NHibernate is being configured. If I add the reference to my testing project, then it does get copied and unit tests work.
What am I doing wrong?
© Stack Overflow or respective owner