gpt4 book ai didi

nunit - 使用 NUnit 2.5.2 时从 App.Config 读取连接字符串的问题

转载 作者:行者123 更新时间:2023-12-04 16:18:58 26 4
gpt4 key购买 nike

我将 Microsoft Visual Studio 2005 与 Enterprise Library 3.1 一起使用。

我有一个数据访问层,它是一个单独的 Visual Studio 类库项目。我在另一个类库中编写了单元测试并尝试调用数据访问方法,但我不断收到

PSMCP.Dal.Tests.DataManagerTests.GetAAAReturnsDataReader:
System.NullReferenceException : Object reference not set to an instance of an object.

at Microsoft.Practices.EnterpriseLibrary.Data.DatabaseMapper.MapName(String name, IConfigurationSource configSource)
at Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.ConfigurationNameMappingStrategy.BuildUp(IBuilderContext context, Type t, Object existing, String id)
at Microsoft.Practices.ObjectBuilder.BuilderBase`1.DoBuildUp(IReadWriteLocator locator, Type typeToBuild, String idToBuild, Object existing, PolicyList[] transientPolicies)
at Microsoft.Practices.ObjectBuilder.BuilderBase`1.BuildUp(IReadWriteLocator locator, Type typeToBuild, String idToBuild, Object existing, PolicyList[] transientPolicies)
at Microsoft.Practices.ObjectBuilder.BuilderBase`1.BuildUp[TTypeToBuild](IReadWriteLocator locator, String idToBuild, Object existing, PolicyList[] transientPolicies)
at Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.EnterpriseLibraryFactory.BuildUp[T](IReadWriteLocator locator, IConfigurationSource configurationSource)
at Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.EnterpriseLibraryFactory.BuildUp[T](IConfigurationSource configurationSource)
at Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.NameTypeFactoryBase`1.CreateDefault()
at Microsoft.Practices.EnterpriseLibrary.Data.DatabaseFactory.CreateDatabase()
at PSMCP.Dal.PSMCPDataManager.GetAAACall(String searchStr, Int32 filterCategory, Int32 centerId) in C:\Documents and Settings\user1\My Documents\Visual Studio 2005\Projects\Test\AAA.Dal\DataManager.cs:line 61
at PSMCP.Dal.Tests.DataManagerTests.GetAAAReturnsDataReader() in C:\Documents and Settings\user1\My Documents\Visual Studio 2005\Projects\Test\PSMCP.Dal.Tests\DataManagerTests.cs:line 27

我猜 DatabaseFactory.CreateDatabase() 调用无法读取 App.Config 以获取连接字符串。单元测试项目有一个有效的 App.Config,其中包含连接字符串设置 [由 EntLib 配置实用程序添加]。我创建了一个控制台应用程序并添加了相同的 App.Config,它在控制台应用程序中运行良好。我很困惑为什么从 NUnit GUI runner 运行时它不会运行。

有任何想法吗?

谢谢,
矩阵 M。

最佳答案

您需要告诉 nunit 配置文件名。在 nunit gui 中转到项目 > 编辑,然后更改配置文件名。

似乎 nunit 默认查找 namespace.config。 (例如 tb.specs.config 在我的情况下)
enter image description here

关于nunit - 使用 NUnit 2.5.2 时从 App.Config 读取连接字符串的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1633607/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com