我为.net应用程序编写了一个NUnit测试。当我运行NUnit时,它不会从配置文件中读取连接字符串值。尝试了许多解决方案并取得了成功,例如
1. adding <assembly name>.dll.config file in the path where NUnit loads the dll.
2. Adding the configuration settings in NUnit.exe.config/NUnit.gui.config
即使在VSNunit中运行,我也无法读取配置设置。 如果有人给我一个解决方案并拯救我,我将非常感激。
答案 0 :(得分:0)
我假设
SomeNameSpace.MyClassLib
SomeNameSpace.MyClassLib.Test
试试这个:
确保您已将app.config
复制到NUnit Test DLL类库(即项目SomeNameSpace.MyClassLib.Test
)。
构建您的NUnit项目(例如,到SomeNameSpace.MyClassLib/bin/debug
),并确保以下内容位于bin \ debug(或release)目录中
SomeNameSpace.MyClassLib.Test.config
)在NUnit GUI项目编辑器的Xml视图中编辑NUnit项目(项目|编辑,或者只需在记事本中编辑它),并确保测试程序集(MyClassLib.Test.dll)和配置文件名与您的appbase相关
e.g。
<NUnitProject>
<Settings activeconfig="Debug" processModel="Default"
domainUsage="Default"
appbase="C:\Temp\MyProject\MyClassLib.Test" />
<Config name="Debug" binpathtype="Auto"
configfile="bin\Debug\MyClassLib.Test.dll.config">
<assembly path="bin\Debug\MyClassLib.Test.dll" />
</Config>
<Config name="Release" binpathtype="Auto" />
</NUnitProject>
答案 1 :(得分:0)
将app.config文件添加到测试项目并在其中添加配置。
然后你必须告诉nunit使用什么配置,因为默认情况下它不会选择app.config。
答案 2 :(得分:0)
我被困在一个类似的问题上一段时间了。我们还需要了解如何加载程序集,基于配置文件的命名更改(除非您使用设置中的显式配置文件)。如上所述:
http://www.nunit.org/index.php?p=configFiles&r=2.2.10
如果正在加载单个程序集,则会为配置文件指定具有config扩展名的程序集文件的名称。例如,用于运行nunit.tests.dll的配置文件必须命名为nunit.tests.dll.config,并且与dll位于同一目录中。
如果正在加载NUnit项目,配置文件将使用项目文件的名称,并将扩展名更改为config。例如,项目AllTests.nunit将需要一个名为AllTests.config的配置文件,该文件与AllTests.nunit位于同一目录中。加载Visual Studio项目或解决方案时遵循相同的规则。