Ich schreibe einige Unit-Tests für Fluent NHibernate Mappings (zum ersten Mal). Wenn sie in Visual Studio ausgeführt werden, laufen sie vollkommen problemlos.
Dies geschieht mit Resharpers Unit-Test-Fenster oder dem in Visual Studio eingebauten Fenster.
Das Problem tritt auf, wenn die Unit-Tests von MSTest aus ausgeführt werden:
mstest /testcontainer:Tests.MyProject.dll
Die Unit-Tests schlagen fehl...
Der einzige Fehler, den ich in der erzeugten trx-Datei erhalte, ist folgender:
BlockquoteUnit Test Adapter hat eine Ausnahme ausgelöst: Typ ist nicht aufgelöst für Member 'FluentNHibernate.Cfg.FluentConfigurationException,FluentNHibernate, Version=1.2.0.694, Culture=neutral, PublicKeyToken=8aa435e3cb308880'..
Was nicht hilft... Ich kann den Code nicht debuggen, weil es funktioniert perfekt in Visual Studio, und die Fehlermeldung in der Testdatei gibt mir keine Informationen...
Der Code zum Erstellen der Sitzung lautet:
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();
}
}
Ich bin mir nicht sicher, ob dies die richtige Art und Weise der Erstellung der Sitzung für Unit-Tests tho ist.
Hat jemand eine Idee, was los ist :(