我正在Visual Studio中使用带有NUnit和.runsettings文件(通过在GUI“选择设置文件”中选择选项指定)的“测试资源管理器”来运行测试

我的设置文件(称为mytests.runsettings )是:

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
  <RunConfiguration>
    <DisableAppDomain>True</DisableAppDomain>
  </RunConfiguration>
  <ForceListContent>true</ForceListContent>
  <NUnit>
    <DomainUsage>None</DomainUsage>
  </NUnit>
</RunSettings>

我已验证它正在加载该文件(通过添加框架节点并将其设置为伪版本进行验证,然后导致错误)。

但是无论我做什么,没有AppDomain都无法运行它!

从命令行运行确实可以:

nunit3-console.exe --domain = None --inprocess MyTests.dll

我需要做什么才能使其在NUnit中使用该设置?

#1楼 票数:1

我不相信你能做到。

  1. 在运行设置文件的NUnit下没有可识别的DomainUsage元素。 DomainUsage是内部使用的属性,如果设置该属性将受到尊重。 但是您不能那样设置。 您的DomainUsage元素只是被忽略。

  2. 如果适配器收到DisableAppDomain设置, 那就设置DomainUsageNone 但是,我认为它实际上并没有收到它。

第二点需要一些解释。 请注意,我几年没有使用适配器了,我要从内存中删除,但这是...

添加了DisableAppDomain设置,以允许Visual Studio强制NUnit在不使用AppDomain情况下尝试运行。 测试资源管理器应该进行设置,以便可以以这种方式运行,即,确保所有内容在当前域中都可用。

为了防止滥用此功能,我相信Test Explorer总是会覆盖用户提供的任何设置。 同样,这是从几年前所做的工作记忆中获得的,但似乎您所看到的结果似乎对其进行了验证。

做出上述决定的理由是,Test Explorer完全负责设置用于运行测试的Process和AppDomain。 用户没有办法影响这一点,NUnit也没有。 当然,在使用控制台运行程序时,情况并非如此-控制权在用户手中。

需要调查的其他原因为什么您感到需要在不创建测试AppDomain情况下运行。 但这可能是另一个问题。 :-)

我也请其他可能记忆力比我更好的人研究一下。

  ask by Don Rhummy translate from so

未解决问题?本站智能推荐:

1回复

Visual Studio 2017 - 测试运行器 - 调试选定的测试 - NUnit - 不工作

在Visual Studio 2017中运行“ Debug Selected Tests时,调试器只是短暂启动并使用带有感叹号的选定测试转动蓝色图标关闭(不确定的测试)。 Debug输出窗口显示: 使用Run Selected Tests命令时会发生类似情况(当然,没有调试会话弹出
1回复

NUnit在正确的文件夹中找不到文件

我刚刚在VS2015上将nUnit从2.6.4更新为3.0.1。 一切顺利,只有一个问题。 在我的Test方法中,我必须加载一个xml文件,我们将其称为UnitTestConfiguration.xml ,它保存在与app.Config和package.Config文件相同的根文件夹中。
1回复

在visual studio 2017中传递参数,如nunit-console params cli

如果我使用NUnit的nunit3-console CLI实用程序运行我的单元测试,我可以使用“params”标志传递参数,如下所示: 在VS中调试真的很烦人,因为我必须设置标志“--debug”,然后我必须从visual studio附加到进程。 我的问题是,是否有可能以某种方式将相
9回复

如何在 Visual Studio 2017 中运行 NUnit 测试?

我刚刚安装了 Visual Studio 2017。我有一个使用 NUnit 作为测试用例的项目。 Ctrl + R - T不再运行测试,并且测试资源管理器不再找到任何标有 TestCase 属性的测试用例。 有没有办法让 NUnit 运行,或者我能找到更新? 我将 NUnit 从 NuGet
3回复

log4net 和 NUnit 3.2 以及 VS 中的控制台输出

在我的 NUnit 2.6 测试中,我曾经在 Visual Studio 的输出窗口的测试部分中看到 log4net 日志消息。 由于我切换到NUnit 3.2,它们不再显示,非常不方便。 我尝试搜索,我想出的最佳“解决方案”是将所有内容转储到调试字符串中,可以通过 SysInternals 的 D
2回复

如何在 NUnit 3 的 Visual Studio 适配器中启用跟踪输出?

考虑: 从 Visual Studio 2015 运行它时,输出窗口(测试)不显示跟踪行: 我记得它在 NUnit 2 和 Visual Studio 2013 上运行良好。我需要以某种方式打开它吗? 我的app.config没有覆盖默认的<system.diagnostics>
3回复

如何修复无法加载文件或程序集'nunit.engine,Version = 3.7.0.0

我有一个使用NUnit运行单元测试的单独测试项目的webappliction。 当我的测试项目试图发现测试时,我遇到以下异常: 这当然是一个非常常见的错误,但是我无法在任何地方找到对此特定程序集的引用,或者其他依赖项实际上是什么导致了该问题。 另一件事是我目前安装了3.9.0 NUn
1回复

Visual Studio无法运行单元测试(调用执行程序'executor:// nunit3testexecutor /'时发生异常)

问题什么都没有出现,只有我在代码中所做的更改-安装了RaSharper(但是删除它并重新安装Visual Studio并没有帮助)。 因此,我使用NUnit 3运行测试。 我有Visual Studio测试适配器,因此可以在“测试资源管理器”中查看测试。 我有Visual St