Take the 2-minute tour ×

I'm writing some unit tests for Fluent NHibernate mappings (for the first time). When run in visual studio they run perfectly fine.

This is using Resharpers Unit Test window or the built in Visual Studio one.

The problem is when the unit tests are run from MSTest:

mstest /testcontainer:Tests.MyProject.dll

The unit tests fail...

The only error I get from the trx file thats generated is:

BlockquoteUnit Test Adapter threw exception: Type is not resolved for member 'FluentNHibernate.Cfg.FluentConfigurationException,FluentNHibernate, Version=, Culture=neutral, PublicKeyToken=8aa435e3cb308880'..

Which doesn't help... I can't debug the code because it works perfectly fine in visual studio, and the error message in the test file doesn't give me any information...

The code around creating the session is:

    public class InMemoryDatabaseTest : IDisposable
        private Configuration _configuration;
        private ISessionFactory _sessionFactory;
        protected ISession _session;

        public InMemoryDatabaseTest(Assembly assemblyContainingMappedType)
            if (_configuration == null)
                _sessionFactory = CreateSessionFactory(assemblyContainingMappedType);

            _session = _sessionFactory.OpenSession();

            new SchemaExport(_configuration).Execute(false, true, false, _session.Connection, Console.Out);

        private ISessionFactory CreateSessionFactory(Assembly assemblyContainingMappedType)
            return Fluently.Configure()
                .Mappings(m => m.FluentMappings.AddFromAssembly(assemblyContainingMappedType))
                .ExposeConfiguration(cfg => _configuration = cfg)

        public void Dispose()

I'm not sure if this is the correct way of creating the session for unit testing tho.

Anyone got any idea what's wrong :(

share|improve this question

1 Answer 1

up vote 1 down vote accepted

I solved this problem. Turns out it was a PEBKAC problem.

For the test configuration I needed to add the System.Data.Sqlite assembly to the configuration so that it got copied to the TestResult folder prior to the test being run.

So the FluentNHibernate Configuration exception was that the Sqlite assembly didn't exist.

Adding the assembly, the test ran in the console and now runs on the integration builds. YAY.

share|improve this answer
I dont think its PEBKAC type of problem, if they wrote a correct error you would easily figure out whats wrong. I got the same issue right now and I dunno where to look really. –  Valentin Kuzub Dec 11 at 13:33

Your Answer


