3

以前,当我只有 Visual Studio 2010 时,我的单元测试执行得很好。

基本上,我的测试由两个文件组成:UnitTests.dll 和 UnitTests.dll.config。UniTests.dll.config 有一个自定义探测 privatePath(例如,Public;Extensions;Lib)

为了执行,我曾经遵循以下工作流程: 1. 我将两个文件(即 UnitTests.dll 和 .config)复制到我的测试应用程序所在的文件夹中。2. 打开 NUnit 界面。3. 在禁用 ShadowCopy 的情况下执行测试,因为我的测试需要从我正在测试的应用程序中加载 dll。

这工作正常!

安装 Visual Studio 2012 后,测试不再运行。后来,我想出了一个解决方法,但我不想在我的解决方案中使用它。

现在,我必须按照这个工作流程来运行测试:

  1. 我将这两个文件(即 UnitTests.dll 和 .config)复制到我正在测试的应用程序所在的文件夹中。
  2. 我将所有 NUnit 安装文件(即 nunit-agent、nunit-console 等)复制到我正在测试的应用程序所在的文件夹中。
  3. 我从 nunit-agent.dll.config 更改了探测 privatePath,以便包含来自我的 UnitTests.dll.config 的相同路径。
  4. 打开位于我的应用程序测试文件夹下的 NUnit gui。
  5. 在禁用 ShadowCopy 的情况下执行测试。

请注意,我必须包含第 2 步和第 3 步才能运行我的单元测试。不知何故,我认为 nunit-agent.dll 没有从我的测试程序集的配置文件中加载探测 privatePath。

有谁知道为什么会这样?有没有人有一种解决方法,我不需要更改 nunit-agent.dll.config 并复制 nunit 安装文件?

提前致谢。

4

0 回答 0