2011-12-19 31 views
2

我正在尝试使用S#arp Lite。我在这里跟着指示 - https://github.com/codai/Sharp-Lite/blob/master/README.txtS#arp Lite - NHibernate初始化程序未找到命名连接字符串

当我第一次尝试运行在NUnit的的MappingIntegrationTests,我收到以下错误:

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的指示上面的错误是从的第二行未来SetUp方法MappingIntegrationTests

[SetUp] 
public virtual void SetUp() { 
    _configuration = NHibernateInitializer.Initialize(); 
    _sessionFactory = _configuration.BuildSessionFactory(); 
} 

NHibernateInitializer类的Initialize方法,

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; 
} 

而且从MySolution.Tests项目App.Config文件,

<?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> 

我不明白为什么NUnit的测试运行与失败消息Could not find named connection string MySolutionConnectionString。据对贫嘴配置詹姆斯科瓦奇的博客文章,这似乎是这应该没有问题 -

“设置db.ConnectionStringName导致NHibernate的读取来自[应用|网络]的配置部分的连接字符串。配置“。

回答

0

MySolution.Tests是一个DLL,但App.configs只读取作为NUnit testrunner的起始.exe文件。