Я пишу некоторые юнит-тесты для отображений Fluent NHibernate (впервые). При запуске в визуальной студии они работают отлично.
Это окно Resharpers Unit Test или встроенное в Visual Studio.
Проблема в том, что модульные тесты запускаются из MSTest:
mstest /testcontainer:Tests.MyProject.dll
Сбой модульных тестов ...
Единственная ошибка, которую я получаю из сгенерированного файла trx:
Исключение выдает тестовый адаптер BlockquoteUnit: тип не разрешен для члена 'FluentNHibernate.Cfg.FluentConfigurationException, FluentNHibernate, версия = 1.2.0.694, культура = нейтральная, PublicKeyToken = 8aa435e3cb308880' ..
Что не помогает ... Я не могу отладить код, потому что он отлично работает в visual studio, а сообщение об ошибке в тестовом файле не дает мне никакой информации ...
Код для создания сеанса:
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()
.Database(SQLiteConfiguration.Standard.InMemory)
.Mappings(m => m.FluentMappings.AddFromAssembly(assemblyContainingMappedType))
.ExposeConfiguration(cfg => _configuration = cfg)
.BuildSessionFactory();
}
public void Dispose()
{
_session.Dispose();
}
}
Я не уверен, что это правильный способ создания сеанса для юнит-тестирования.
Кто-нибудь понял, что случилось: (