问题标签 [approval-tests]

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 回答
335 浏览

specflow - 有人使用specflow的approvaltests吗?

有没有人使用 Specflow 和ApprovalTests

我发现每个 NUnit 测试只能批准一个文件是有限制的,因此每个场景只能有一个批准的文件。即使您使用场景大纲也是如此。

这意味着我通常必须连接文件并批准一个代表大量独立测试结果的大文件。

我想知道有没有人找到更好的方法?

0 投票
4 回答
2202 浏览

c# - 如何在 Teamcity 上使用 ApprovalTests?

我正在使用Approval Tests。在我的开发机器上,当我的测试结果与批准的不同时,我很高兴DiffReporter启动TortoiseDiff :

但是,当在 Teamcity 上运行相同的测试并且结果不同时,测试会失败并出现以下错误:

显然它找不到 tortoisemerge.exe,这很好,因为它没有安装在构建代理上。但是如果安装了呢?然后每次失败都会启动另一个 tortoisemerge.exe 实例,没有人会关闭它。最终,大量的 tortoisemerge.exe 实例会杀死我们的服务器 :)

所以问题是——应该如何修饰测试以在本地机器上运行 Tortoise Diff 并在构建服务器上报告错误?我知道, #IF DEBUG [UseReporter(typeof (DiffReporter))]但如果可能的话,我更喜欢另一种解决方案。

0 投票
1 回答
592 浏览

ncrunch - 如何使用带有 ncrunch 的批准测试 WinMergeReporter

我已经在 WinMergeReporter 上使用了一段时间的批准测试,它与标准的 NUnit 运行程序可执行文件配合得很好。

我正在尝试 NCrunch 和批准。验证失败(如预期的那样)以获得新的批准。

但是,WinMerge 不会启动。

我明白失败

ApprovalTests.Core.Exceptions.ApprovalMissingException:批准失败:未找到批准文件“...\mytest.approved.txt”。在 ApprovalTests.Approvers.FileApprover.Fail()

我可以在 NUnit 运行器中运行相同的代码并启动 WinMerge。

NCrunch 带来 WinMergeReporter 的秘诀是什么?

0 投票
2 回答
2550 浏览

c# - 如何在 Approvaltests 中添加对 xunit 的 Theory 属性的支持

当我尝试使用带有[Theory]属性装饰的单元测试的批准时,它会说:

似乎它只识别[Fact]属性。我试图跟踪来自 stacktrace 的链接, 但没有任何关于如何将您自己的命名器/解析器插入到批准中的信息。

有没有可以添加自己的命名器/解析器的入口点?它本身似乎微不足道,唯一的问题是如何使用它:

0 投票
1 回答
396 浏览

approval-tests - ApprovalTests....编译后移动程序集

首先,很棒的图书馆!

如果我编译,然后在我验证它仍然在它编译的位置查找 *.approved.txt 时移动程序集,在我的情况下它不再存在。

我在 Teamcity 上遇到了这个问题,我们在不同的任务中构建和测试。因此,构建步骤将在 c:\BuildAgent\SomeGuid...

...

关于如何调整它以在相对目录中查找可执行文件的任何想法。

0 投票
3 回答
1266 浏览

c# - 批准测试和 PDF

我可以将 ApprovalTests 与 PDF 一起使用吗?我尝试使用 FileLauncher,但似乎相同的 PDF 在文件(位)级别略有不同。还是我用错了?

0 投票
2 回答
1089 浏览

java - 使用 ApprovalTest 验证多个图像

我有一种方法可以生成一些图像(1.jpg、2.jpg...),并将它们写入文件系统。我想用 ApprovalTest 验证这个方法的结果。问题在于Approvals.verify(image)将接收和批准的文件命名为测试方法的名称。因此,我无法通过一次测试验证多个图像。

如何在一次测试中验证多个图像?

0 投票
2 回答
150 浏览

java - 为什么我必须在 ApprovalTest 的源代码控制中包含收到的文件?

我正在阅读ApprovalTest - Getting Started.pdf它在此处的 zip 中)的文档,它在Approving The Result下说的最后一句话是“注意:您必须在源代码管理中包含收到的文件。”

这真的让我很困惑。有人可以解释这是为什么吗?这是一个错字,意思是说:“注意:您必须在源代码管理中包含已批准的文件。”?

0 投票
2 回答
119 浏览

jakarta-ee - 如何在需要运行应用服务器的遗留代码上有效地使用 ApprovalTests?

ApprovalTests看起来非常适合遗留代码,但问题是我的遗留代码在应用服务器中运行,重新部署应用程序需要 2 分钟以上的时间。因此,我担心运行批准测试的反馈循环会让我不想经常运行它。我可能最终会更改更多代码而无需经常进行测试,并且可能会进入“更改->测试->失败->恢复”的重复模式。

谁能给我关于如何将 ApprovalTests 与需要很长时间部署的遗留代码一起使用的建议?这正是我应该期望处理的,还是我以错误的方式编写这个测试?

0 投票
4 回答
963 浏览

visual-studio-2010 - 是什么导致消息“未设置批准以使用您的测试框架。”?

是什么导致消息“未设置批准以使用您的测试框架。”?

我们有一个基于 ApprovalTests 的单元测试在夜间远程团队构建中失败,但有以下例外:


测试方法 Test_CanvasModeConverters 抛出异常:
System.Exception: Approvals 未设置为使用您的测试框架。
它目前支持 [NUnit, MsTest, MbUnit, xUnit.net] 添加一个使用 ApprovalTests.StackTraceParsers.StackTraceParser.AddParser() 方法来添加 ApprovalTests.StackTraceParsers.IStackTraceParser 的实现,并支持您的测试框架。要了解如何实施,请参阅http://blog.approvaltests.com/2012/01/creating-namers.html


此单元测试在本地 VS2010 单元测试运行(即 mstest)中顺利通过。它还在远程团队“签入”构建中顺利通过(即在每个代码签入时运行)。

我们在测试开始时记录了一些诊断信息,以识别正在运行的 ApprovalTests.dll 程序集......

这是堆栈跟踪...