2

我为 .NET 应用程序编写了 NUnit 测试。当我运行 NUnit 时,它不会从配置文件中读取连接字符串值。我尝试了许多没有成功的解决方案,比如

  1. 在 NUnit 加载 DLL 文件的路径中添加 <程序集名称>.dll.config 文件。
  2. 在 NUnit.exe.config/NUnit.gui.config 中添加配置设置

即使在 VSNunit 中运行,我也无法读取配置设置。有解决办法吗?

4

3 回答 3

0

我假设

  • 正在测试的组件:SomeNameSpace.MyClassLib
  • 带有单元测试的 NUnit 程序集:SomeNameSpace.MyClassLib.Test

试试这个:

  1. 确保你也复制app.config了你的 NUnit 测试 DLL 类库(即项目SomeNameSpace.MyClassLib.Test)。

  2. 构建您的 NUnit 项目(例如 to SomeNameSpace.MyClassLib/bin/debug)并确保以下内容位于 bin\debug(或发布)目录中

    • 要测试的组件,
    • NUnit 测试 DLL 和
    • 配置 ( SomeNameSpace.MyClassLib.Test.config)
    • 正在测试的 DLL 文件所需的任何其他程序集。
  3. 在 NUnit GUI 项目编辑器的 XML 视图中编辑您的 NUnit 项目(菜单ProjectEdit,或者只是在记事本中编辑它),并确保测试程序集 (MyClassLib.Test.dll) 和配置文件名称是相对于你的应用程序库

    例如,

    <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>
    
于 2012-09-07T13:34:35.093 回答
0

app.config文件添加到测试项目并在其中添加您的配置。

然后,您必须告诉 NUnit 使用什么配置,因为默认情况下它不会获取app.config文件。

有关如何使用屏幕截图进行设置的更多信息。

于 2012-12-14T12:13:11.587 回答
0

我被困在一个类似的问题上一段时间。我们还需要查看您是如何加载程序集的,基于配置文件的命名更改(除非您使用设置中的显式配置文件)。如此处所述:

http://www.nunit.org/index.php?p=configFiles&r=2.2.10

如果正在加载单个程序集,则为配置文件指定带有 config 扩展名的程序集文件的名称。例如,用于运行 nunit.tests.dll 的配置文件必须命名为 nunit.tests.dll.config,并且与 DLL 文件位于同一目录下。

如果正在加载 NUnit 项目,则配置文件使用扩展名更改为配置的项目文件的名称。例如,项目 AllTests.nunit 需要一个名为 AllTests.config 的配置文件,该文件位于与 AllTests.nunit 相同的目录中。加载 Visual Studio 项目或解决方案时遵循相同的规则。

于 2013-10-28T20:29:51.420 回答