Ich versuche, S#arp Lite zu verwenden. Ich habe die Anweisungen hier befolgt - https://github.com/codai/Sharp-Lite/blob/master/README.txt
Wenn ich zum ersten Mal versuche, die MappingIntegrationTests
in NUnit, erhalte ich die folgenden Fehler:
MySolution.Tests.NHibernateProvider.MappingIntegrationTests.CanConfirmDatabaseMatchesMappings:
SetUp : NHibernate.HibernateException : Could not find named connection string MySolutionConnectionString
MySolution.Tests.NHibernateProvider.MappingIntegrationTests.CanConfirmDatabaseMatchesMappings:
SetUp : NHibernate.HibernateException : Could not find named connection string MySolutionConnectionString
NUnit zeigt an, dass die oben genannten Fehler von der zweiten Zeile der Datei SetUp
Methode in MappingIntegrationTests
.
[SetUp]
public virtual void SetUp() {
_configuration = NHibernateInitializer.Initialize();
_sessionFactory = _configuration.BuildSessionFactory();
}
Die Initialize
Methode meiner NHibernateInitializer
Klasse,
public static Configuration Initialize() {
Configuration configuration = new Configuration();
configuration.Proxy(p => p.ProxyFactoryFactory<DefaultProxyFactoryFactory>())
.DataBaseIntegration(db => {
db.ConnectionStringName = "MySolutionConnectionString";
db.Dialect<MsSql2008Dialect>();
})
.AddAssembly(typeof(ActionConfirmation<>).Assembly)
.CurrentSessionContext<LazySessionContext>();
ConventionModelMapper mapper = new ConventionModelMapper();
mapper.WithConventions(configuration);
return configuration;
}
Und die App.Config
Datei von MySolution.Tests
Projekt,
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="MySolutionConnectionString" connectionString="data source=.\SQLEXPRESS;Initial Catalog=MySolutionDB-DEV;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
</ connectionStrings>
</configuration>
Ich verstehe nicht, warum der NUnit-Testrunner mit der Meldung fehlschlägt Could not find named connection string MySolutionConnectionString
. Laut dem Blogbeitrag von James Kovacs auf Loquacious Configuration sollte dies ohne Probleme funktionieren.
"Das Setzen von db.ConnectionStringName veranlasst NHibernate, den Verbindungsstring aus dem config-Abschnitt der [App|Web].config zu lesen."