问题标签 [ncrunch]

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 投票
1 回答
1309 浏览

c# - 并行运行测试时为 WebApi OWIN 自主机获取免费端口

我使用 OWIN 来自托管 Web API,同时使用 NCrunch并行运行我的测试,我在 BeforeEach 中启动它并在 AfterEach 方法中停止。

在每次测试之前,我都试图获得可用的空闲端口,但通常 85 个测试中有 5-10 个测试失败,但有以下例外:

所以看起来,有时我没有得到可用的端口。我尝试使用Interlocked类在多个线程之间共享最后使用的端口,但它没有帮助。

这是我的测试基类:

有谁知道如何确保我总是得到可用的端口?

0 投票
0 回答
895 浏览

visual-studio - 忽略了一些 InlineData 的 Xunit 理论

我正在尝试运行一些测试来使用 XUnit 检查我的后缀按位算法。似乎带有 [InlineData] 的 [Theory] ​​可以完美地解决这个问题,但它似乎并没有像我希望的那样工作。

当 NCrunch 测试运行程序(或者它是否使用 Visual Studio 测试运行程序?)扫描测试时,它只从四个 [InlineData] 中挑选出两个测试。它似乎总是一个expectedResult = false 和一个expectedResult = true。乍一看,扫描器似乎将所有带有 expectedResult = false 的测试视为相等,因此忽略了其他两个。

所以我的问题是:我可以为此使用 [InlineData] 吗?如果可以,如何使用?否则我对想法持开放态度。我一直在尝试使用 [MemberData],但我也有类似的挫败感。它似乎运行了我所有的测试,但控制台只显示一个测试而不是 4 个,这使得很难确定哪个测试失败。我在另一个 Stackoverflow 问题中找到了解决方案,但我还没有让它适用于这种情况。

0 投票
1 回答
262 浏览

ncrunch - NCrunch 测试失败并出现 FileNotFoundException

我的测试需要一个 NHibernate 配置文件。该文件是通过 NCrunch 配置添加的: 在此处输入图像描述

但测试仍然失败:

有没有办法强制将文件添加到_ncrunchreferences文件夹中?

0 投票
2 回答
926 浏览

c# - SpecFlow 和 NCrunch:在单线程中执行时出现多线程错误

我们将解决方案从 SpecFlow1.9 更新到 2.0,将 NUnit2.6.4 更新到 3.2.1。在调整了一些属性和项目设置后,所有测试在 NUnit 中运行良好。但是,当使用 NCrunch 执行 SpecFlow 测试时,我们会收到 SpecFlowException:

我们有意为单线程环境设计了 SpecFlow 测试(以降低工作量),我们只想继续在一个线程中执行这些测试。因此,我们不是将场景上下文作为提议的解决方案注入(我们使用 NInject 而不是 SpecFlow mini-IoC),而是寻找一些设置来让 SpecFlow 相信它在单线程环境中运行。

以下是 NCrunch 2.23.0.2 设置:

我在所有 SpecFlow 测试的 Assembly.cs 文件中输入了以下属性:

没有成功; 异常不断出现。

有没有人知道如何使用 NUnit3.2.1 强制 NCrunch2.23.0.2 中的 SpecFlow2.0 使其认为它在单线程环境中执行?

感谢你的付出!

2016-5-31:更新

我安装了 SpecFlow 的新版本 2.1(自 2016 年 5 月 25 日起可用),但没有解决问题。

我用最少的代码创建了一个示例项目来生成问题。计算器实现是有状态的,不能在多线程环境中测试。

由于 CustomContext 中的(虚拟)静态引用“ScenarioContext.Current”,SpecFlow 引发异常。是的,我知道如果您打算在多线程测试环境中运行,您应该注入它。问题是 SpecFlow 认为它处于多线程环境中,但事实并非如此,也不应该如此。

0 投票
1 回答
570 浏览

c# - SpecFlow:当 NInject 用作​​ IoC 时如何注入 ScenarioContext

在将我们的解决方案从 SpecFlow1.9 更新到 2.0 并将 NUnit2.6.4 更新到 3.2.1 之后,当使用 NCrunch 执行 SpecFlow 测试时,我们会收到 SpecFlowException

异常文本中的链接http://go.specflow.org/doc-multithreaded建议的解决方案仅在您使用 SpecFlow 的内置迷你 IoC 时有效。但是,我们在 SpecFlow 测试中使用 NInject 作为 IoC。只需将静态字段 ScenarioContext.Current 包装在一个类中并在单例上下文中注册该类当然只是将问题转移到另一个地方。

当使用 NInject 而不是 SpecFlow 的内置 IoC 时,有人知道如何注入 ScenarioContext 吗?

0 投票
2 回答
809 浏览

c# - Nunit、NCrunch 和 NSubstitute - 总是有 2 个测试因 UnexpectedArgumentMatcherException 失败,随机变化(准)

我有一个使用 NUnit 3.4.1、NSubstitute 1.10.0 和 NCrunch 2.23.0.2 的文本夹具

在此夹具中的任何时间点都有 2 个失败的测试。每次我更改某些内容时,哪个测试失败似乎都会有所不同。并非所有测试最终都会失败,但大多数都会失败,问题始终是 NSubstitute 异常,如下所示:

我将 NCrunch 添加到此组合中,因为 Resharper 2016 测试运行器似乎通过了所有测试。大多。

我总是得到的例外是:

这很清楚,除了在大多数测试中我不使用任何Arg.Isor Arg.Any

ILock接口

这是IClock所有荣耀的接口。Now是一个 getter-only 属性,但这对 NSubstitute 来说应该不是问题,不是吗?

完整的夹具,即将到来

很抱歉出现大量代码,但我不想假设这是由于一个测试或另一个测试,所以这里是:

有什么(明显的)我想念的吗?这一切的准随机性似乎表明代码没有为每个测试正确重新初始化,但我完全看不出如何。

任何帮助深表感谢。

0 投票
1 回答
71 浏览

.net - NCrunch 无法识别环境变量

我已经设置NCrunch cache storage path%TEMP%\NCrunchCache. 但是,我收到以下错误:

文档表明这是可能的:

从 NCrunch v2.20 开始,此设置支持指定环境变量(即 '%MyCacheRootDir%\MySolution')

我错过了什么?

0 投票
1 回答
290 浏览

automation - 将 NCrunch 与 TeamCity 集成

有人知道有关将 NCrunch 与 TeamCity 集成的任何资源/指南吗?我公司刚刚开始投资更多的自动化研发;我正在使用 NCrunch 创建自动化测试套件,而另一位开发人员正在使用 TeamCity 集成自动化构建部署/测试。

我目前只运行我在本地进行的测试,但希望设置一个 NCrunch 网格并最终将其与 TeamCity 集成,以便定期或在新构建时触发测试。

我想知道所有这些在概念上如何协同工作,因为自动化构建/任务对我来说是新的。我尝试了一些谷歌搜索,但发现很难拼凑起来,感谢任何帮助。

0 投票
1 回答
527 浏览

c# - NCrunch“没有测试排队等待执行”

在 Visual Studio 2015 Community Edition Update 3 和 NCrunch 2.15.0.9 中,我的 MSTest 单元测试可以编译(我可以在 MSTest 中运行它们),但 NCrunch 将它们显示为

没有测试排队等待执行。监控 2 个测试,没有忽略任何测试

这些测试的状态是

运行(第一次运行),优先

如果它们真的在运行,它们永远不会完成。在 MSTest 中运行它们只需要几毫秒。

C# 类库仍然是一个非常简单的项目,几乎是 HelloWorld 的复杂性。它没有任何奇怪的依赖关系。它没有签名,也没有构建前或构建后的步骤。

我已经使用向导设置了我的 NCrunch 配置

  • NCrunch 2/4 核
  • 最多 1 个后台处理线程
  • 优化最快的测试执行
  • 一次运行我的测试
  • 检测到更改时自动运行我的测试
  • 让我的测试运行 - 我会根据需要忽略它们

即使我手动触发测试也不会运行。

NCrunch 诊断输出窗口中没有内容。

不确定它是否相关,但我安装了其他插件:

  • 视觉SVN 5.1.2
  • Resharper Ultimate 10.0.1
  • 盎司代码 2.0.0.1029

Screnshot NCrunch 测试未运行

限制:我无法升级 NCrunch,因为我的许可证已过期。

我努力了:

  • 将 Resharper Ultimate 升级到 2016.1
  • “防止签署输出程序集”
  • “将引用的程序集复制到工作区”
  • 在 DLL 和测试上将架构设置为 x86
0 投票
0 回答
93 浏览

unit-testing - 使用带有 asp.net core 1.0 的 ncrun 无法构建

我正在尝试将 ncrun 与 asp.net 核心一起使用,但 ncrun 显示我的构建失败。有没有办法在 asp.net core 中运行 ncrun 进行单元测试。