问题标签 [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.
blazor - 如何配置 NCrunch 以便它可以构建 Blazor 项目
当 NCrunch(版本 4.2.0.7)尝试构建 Blazor 项目(版本 3.0.0-preview9)时,会产生以下错误:
packages\microsoft.aspnetcore.blazor.build\3.0.0-preview9.19465.2\targets\Blazor.MonoRuntime.targets (441, 5):命令“dotnet”C:\Users\Rodolfo.nuget\packages\microsoft.aspnetcore .blazor.mono\3.0.0-preview9.19462.2\build\netstandard1.0../../tools/illink/illink.dll" -l none --disable-opt unreachablebodies --verbose --strip-security true --exclude-feature com --exclude-feature sre -v false -c link -u link -b true -d (...这里有很多文件...)以代码 -532462766 退出。
如何让 NCrunch 构建 Blazor 项目?
免责声明:我在网上没有找到一个答案后写这个问题,包括 SO。我已经找到了解决方案并打算自己回答这个问题,以便 - 希望 - 帮助其他人。
verify - 使用 NCrunch 时,Verify.NUnit 报告的差异如何被批准?
验证.NUnit版本:1.19.2
NCrunch 版本:4.3.0.13 试用版
视觉工作室 2019:16.4.5
在来自repo 的这个提交中,当检测到 NCrunch 时, VerifySimonCropp/Verify
库的命令行和差异查看器功能都被禁用。我知道在编辑代码时自动发生的测试执行期间,我们不希望差异查看器弹出。但我希望当我从 NCrunch 手动运行测试时,差异查看器和剪贴板功能会起作用。我现在只是在试用 NCrunch,看看它是否适合我的团队,所以不一定需要为 Verify.NUnit 更新功能。
使用 NCrunch 时,如果 Verify.NUnit 断言的测试失败失败,推荐的工作流程是什么?
样品测试:
c# - 控制器测试仅在服务器上失败
因此,我为 ApiController 构建了单元测试,其中一个仅在 CI 管道中的服务器上失败,但除外System.InvalidOperationException : HttpControllerContext.Configuration must not be null.
结构如下所示:
在我的测试中,我模拟 IService 和 IService2 并将它们传递给控制器:
然后我用一些无效数据调用该方法,引发返回UnAuthorized()
:
起初,这失败了。所以我加了
所以现在它可以工作了。本地。它在调试时工作,它使用 ReSharper 的 testrunner 工作,它使用 NCrunch 工作。
但它在管道中不起作用。
当使用 ncrun 控制台工具在管道中执行时,测试失败并显示上述消息。
知道如何解决这个问题吗?当我明确初始化它时,配置如何为空?
编辑:这是堆栈跟踪:
nsubstitute - 使用 NSubstitute 和 NCrunch 的 RedundantArgumentMatcherException
我有一个示例代码(粘贴在下面)。我正在使用 Xunit、NSubstitute 和 NCrunch。当我在 Visual Studio 的测试资源管理器中运行测试时,测试通过了。当我调试时,测试运行正常。使用 NCrunch,我面临着一种奇怪的行为,测试通过,然后失败,然后通过,然后失败,并继续这样。
NCrunch 抛出的错误是:
我试图从 Prepare(Greetings greetings) 方法中删除参数,然后 NCrunch 每次都通过测试。
正如错误所暗示的那样,我没有正确传递测试中的参数。
我的问题是:将问候对象传递给 Prepare 方法的正确方法是什么。我试过 Arg.Any 但它没有用。
任何帮助表示赞赏。
编辑 1: 我使用 Reshaper 的单元测试覆盖率看到了相同的行为。
asp.net-core - 如何让 NCrunch 使用特定的 appsettings.json 文件?
我的解决方案中有一些 API 测试需要从appsettings.json
文件中进行设置。本地环境不同于 DEV/PROD。因此,我有主appsettings.json
配置和appsettings.Development.json
一些特定于开发机器的设置。
在添加新配置之前,NCrunch 可以很好地从开发配置文件中抓取设置:
我更新launchSettings.json
了文件以使用本地配置。当我从 VS 运行它时它工作正常,但 NCrunch 仍然使用开发。有没有办法让它使用本地?
xunit - 如何在 NCrunch 中按类别(特征)名称忽略测试
我正在使用 xUnit + NCrunch。我有一些标记为集成的测试:
如何在 NCrunch 中跳过这些测试?测试不在单独的程序集中,所以我不能完全忽略整个程序集。
azure-functions - NCrunch 无法构建引用 Microsoft.Azure.Functions.Worker.Sdk 的项目
我有一个引用Microsoft.Azure.Functions.Worker.Sdk
版本 1.0.4 的 Azure Functions v3(dotnet 隔离)C# 项目。当 NCrunch 尝试构建此项目时,它会失败并显示以下消息:..\..\..\..\..\..\program files (x86)\microsoft visual studio\2019\professional\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets (1150, 7): The target "NCrunchPrepareForBuild" does not exist in the project.
如果我删除包引用,则构建成功。
有条件地禁用引用<PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.0.4" OutputItemType="Analyzer" Condition="'$(NCrunch)' != '1'" />
不起作用。奇怪的是,如果我将其更改为Condition="'$(NCrunch)' == '1'"
它确实有效,这表明$(NCrunch)
在构建过程中此时尚未设置该属性。
错误消息引用的行如下所示: