问题标签 [nunit-3.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
7307 浏览

.net - NUnit 3.2.1 + TeamCity:无法加载文件或程序集“nunit.framework”

我最近更新到TeamCity 9.1.6以运行基于NUnit 3.2.1的新单元测试。但现在我无法运行测试:

我在构建步骤中选择了 NUnit3 执行器,并进行了相应的配置:

构建步骤配置

构建时,出现错误:“无法加载文件或程序集‘nunit.framework’或其依赖项之一。系统找不到指定的文件。” .

构建日志

一切都应该没问题,路径没问题,程序集在测试程序集的路径中,一切都内置在 AnyCPU 配置中。还有一个错误指出 NUnit 版本不是发布版本,我认为这是胡说八道,它是 NUnit 网站上的发布。并且该错误似乎并没有破坏任何东西(即使我在“nunit.framework”错误之前出现错误,并且当我修复了那个错误时,它也存在,构建更进一步)。

任何线索表示赞赏!

更新: 使用命令行运行程序运行测试并运行相同的 nunit3-console.exe 工作正常。所以我想这是一个 NUnit runner 特定的问题。不过,欢迎就如何解决此问题提出建议。

更新 2: 我尝试将 TeamCity 使用的解决方案包和 NUnit-Console 降级到 3.0.0 - 仍然是相同的结果。

更新 3: 正如我所怀疑的,TeamCity 支持确认有关“不支持 NUnit 版本”的消息是错误的,不应该影响任何事情。

0 投票
1 回答
949 浏览

c# - 如何使用 NUnit3 并行测试执行配置 Selenium Grid?

我们当前的 C#/Nunit 2.6.3 测试框架有一个回归套件,它需要超过 35 小时才能在单台 PC 上运行,其中一些测试持续时间长达 20 分钟。设置批量测试以在多台机器上运行既耗时又低效,因此我试图将测试迁移到 NUnit 3 以获得在 Selenium Grid 上并行执行的好处。

我的目标是让 12 个节点每个运行一个 IE 实例。但是,用于 VS 的 NUnit3 测试适配器似乎正在尝试同时运行所有测试。

由于我将始终从比我拥有的节点更多的夹具执行测试,因此夹具将位于队列中直到节点可用是很重要的。在实践中,测试夹具可能需要等待几个小时才能获得空闲节点。对于我当前的配置实验,我进行了以下设置:

  • 具有以下配置的集线器:java -jar selenium-server-standalone-2.48.2.jar -role hub -newSessionWaitTimeout:-1 -browserTimeout 120 -timeout 3600
  • 默认配置中的单个节点。

  • 两个测试夹具,每个都有 10 个测试。测试夹具具有以下属性:[Parallelizable(ParallelScope.Self)]

在这种情况下,我希望只有一个节点支持单个 IE 实例,因此只会执行单个测试。然后,集线器将在队列中的下一个测试空闲时将其发送到节点。但是,似乎两个测试装置正在同时运行。一个测试被推送到节点,但另一个夹具上的测试失败并显示以下消息:

结果消息: OpenQA.Selenium.WebDriverException:对 URL http://localhost:4444/wd/hub/session
的远程 WebDriver 服务器的 HTTP 请求在 60 秒后超时。----> System.Net.WebException : 操作已超时

当我在 Java/JUnit 框架中的 Eclipse 上使用网格时,我没有遇到任何问题。集线器将使用默认配置对测试进行排队,直到节点空闲且没有任何超时。

有谁知道正确的配置,或者这是 NUnit 3 测试适配器的问题吗?不幸的是,浏览器选择被固定为 IE。

0 投票
2 回答
3780 浏览

powershell - 从 Powershell 运行 NUnit 3

我有一个 PS 脚本,我已成功使用它来运行和处理 NUnit 2.6.3 的结果。我最近升级到 NUnit 3.2.1 并且在将参数传递给 NUnit 可执行文件时遇到问题。该脚本是从 Octopus deploy 调用的,如下所示:

参数在这里处理:

调用 NUnit(用一行来回显命令):

结果:

以下代码行按 PS 脚本的预期工作:

测试运行,类别过滤器和工作目录按预期设置:

我也试过:

这导致来自 NUnit 的相同输出:

我是一个 PS 菜鸟,所以希望这是我在脚本中忽略的明显内容。我还尝试了使用 -ArgumentList 的 Invoke-Command 的各种迭代,但没有得到任何结果。感谢所有建设性的建议 - 谢谢!

0 投票
2 回答
741 浏览

testing - SpecFlow 2.0.0 上的 @Ignore 标记导致构建错误

我最近从 SpecFlow 1.9.0 升级到 2.0.0 和 NUnit 2.6.4 到 3.2.1。

下面的 SpecFlow 功能文件片段以前可以工作,但是现在失败并出现此错误:“NUnit.Framework.IgnoreAttribute”不包含采用 0 个参数的构造函数

这是失败的自动生成的 SpecFlow 要素类片段: [NUnit.Framework.IgnoreAttribute()]

@Ignore 标签如何在 SpecFlow 2.0.0 和 NUnit 3.x 中使用?

0 投票
3 回答
3607 浏览

visual-studio - 错误:VSTS 中的异常 NUnit.Core.UnsupportedFrameworkException

我正在使用 Visual Studio 测试任务在 VSTS 构建管道中执行 NUnit 测试用例。以下是我正在使用的配置设置: Visual Studio 测试配置

Visual Studio 测试

我已经尝试过帖子中给出的解决方案: VSTS Build failed running NUnit tests

0 投票
1 回答
50 浏览

nunit - 是否可以以编程方式从 NUnit 3.0 中的测试夹具中删除“可并行化”属性?

我目前为每个测试夹具设置了“[Parallelizable(ParallelScope.Fixtures)]”以并行运行它们。我希望能够为用户添加一个选项,以并行或顺序运行测试装置。有可能这样做吗?

0 投票
0 回答
348 浏览

c# - 在 TeamCity 中运行 IE 测试时 NUnit 运行器失败

昨天,我的 devops 团队帮助我将测试转移到了 TeamCity 服务器。我正在运行测试,并注意到 TC 在运行 IE 测试时遇到了麻烦。chrome 和 Firefox 测试都运行良好,但 IE 未能通过[OneTimeSetUp]我将测试修改为仅在 IE 中运行以尝试调试此问题,并在我的[OneTimeSetUp]此处添加了一些日志记录,这是我上次运行的构建日志。哦,当我通过 Visual Studio 和 Nunit3 控制台运行程序在本地运行测试时,它们按预期工作。这似乎只是服务器上的问题。

0 投票
3 回答
6217 浏览

visual-studio - 在 TeamCity 中更改 app.config 中的值

在包含我们所有单元测试的 Visual Studio 解决方案中,我们有一些文本文件。这些文本文件是根据我们的单元测试生成的一些结果进行检查的。

为了加载文件,我们有一个 app.config:

在每次构建运行的 TeamCity 中,我想:

将 BaseTestsDataPath 更改为代理的特定工作路径,例如。

我知道代理工作文件夹中的物理布局,所以我需要知道的是:

  • 如何在我的 TeamCity 构建步骤中针对解决方案运行 Nunit 之前更改 app.config 文件
0 投票
1 回答
247 浏览

c# - 为什么在 NUnit Android Test Runner 中断言等于 0(零)?

如题所述,为什么Asserts: 0在我的NUnit Android Test Runner中,虽然Assert在对应的测试方法中调用了两个s,却显示出来了?只是好奇我是否以错误的方式进行断言,或者显示的信息可能与我认为的完全不同。

在此处输入图像描述

测试方法如下。两条线上的断点Assert按预期命中。

更新 :

也可以使用以下测试方法重现该问题:

0 投票
1 回答
2684 浏览

selenium - 使用 Nunit 3 Console Runner 进行 Specflow 测试

我最近开始了一个新项目,并决定使用 Specflow 2.1 它附带 NUnit3。

目前该项目已设置,Visual Studio 中的测试运行程序正在正确执行,但是当我尝试从 Nunit 3 控制台运行程序运行相同的测试时,出现错误。

我使用的命令是 nunit3-console.exe --labels=All --framework=net-4.5 Blah.Testing.Specflow.dll

我添加了两个具有相同程序集的本机 Nunit 测试,并且执行良好,这是一个失败的规范流测试

我曾尝试反映 TechTalk.Specflow 程序集以查看 CreateTestRunnerInstance 方法,但没有找到任何有用的信息来指导我找到解决方案。

生成的步骤文件代码为

任何帮助将不胜感激