问题标签 [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 回答
207 浏览

asp.net-mvc - 使用 MvcApprovals 进行 Nunit 测试验证特定的 url

我的 mvc 应用程序的项目 url 像这样托管 localhost:port/AppName

我创建了一个新的单元测试项目来测试 mvc 应用程序使用 nunit 框架和批准测试我使用了 Approval Tests Library

MvcApprovals.VerifyMvcPage 抛出一个错误,说它找不到 url,因为我没有设置正确的项目 url:

连接到时出现以下错误:

http://localhost:8080/Scope/_index

错误:

远程服务器返回错误:(404) Not Found。

所以我的问题是如何设置正确的 url 来设置 nunit 进行 mvc 批准测试

0 投票
1 回答
533 浏览

c# - 批准测试 与面具的图像比较

是否可以将两个图像与不需要比较的区域的掩码进行比较。

我设法让它与基本的文件比较一起工作

但我想创建一个我希望改变的区域的面具。这是否可以通过 ApprovalTests 实现,或者我需要修改屏幕截图并手动应用掩码,然后再与批准的文件进行比较。或者是否可以编写自己的验证器?

0 投票
1 回答
506 浏览

c# - 如何为在 TeamCity 上运行批准测试指定approved.txt 文件位置

我正在尝试从 TeamCity 下的 nUnit 运行我的批准测试

不幸的是,测试失败了,因为批准正在尝试从 C 驱动器中获取批准的文件。

测试失败。ApprovalTests.Core.Exceptions.ApprovalMissingException:审批失败:未找到审批文件“C:\...approved.txt”。

无论如何我可以为我的批准文件指定正确的位置吗?

0 投票
1 回答
74 浏览

.net - 如何从构建日志中删除批准的调试信息

当我运行批准测试时,来自批准测试的一些调试输出会进入我的日志。看起来像 2/15/2016 1:58:48 PM ~000002ms Variable: approvalFrame = '' 2/15/2016 1:58:48 PM ~000025ms Variable: approvalFrame = '' 2/15/2016 1:58:48 PM ~000003ms Variable: approvalFrame = '' 2/15/2016 1:58:48 PM ~000002ms Variable: approvalFrame = '......

有没有办法从日志中隐藏它?

谢谢。

0 投票
1 回答
736 浏览

.net - 可以更改认可测试的文件名

我想在循环中运行批准测试,以便可以测试 100-1000 个 XML 文件。我让序列化程序输出到一个字符串,然后在 Verify() 调用中使用它。

但是,我希望能够将验证方法设置为对每个测试使用不同的文件名。类和方法名称很好,但我想用一个附加名称来标记它,以描述数据库中正在测试的记录的 ID。

这可能吗,如果可以,怎么办?例如

MyTests.Test_X.ID101.approved.txt

MyTests.Test_X.ID101.received.txt

0 投票
1 回答
670 浏览

c# - 使用 ApprovalTests.Net 指定测试输出路径以支持多个文件

我正在编写一个从 HTML 标记生成 PDF 文件的应用程序(使用第三方库来执行此操作)。

我希望能够批准测试这些 PDF 文件的输出,因此我一直在查看ApprovalTests.Net库。

我的问题是虽然ApprovalTests.Net原生支持 PDF 相等检查,但 PDF 生成工具会在每次生成 PDF 文件时生成细微不同的内部标记。(字体文件名被压缩和随机化,文件 id 的变化等)。

似乎实现良好批准测试的最佳方法是将 PDF 文档扁平化为一系列图像,并使用二进制比较/加载图像差异工具来批准测试文档。

这一切都是微不足道的。

处理多页 pdf 文档时出现我的问题。每个页面都会生成一个新图像,因此我的测试需要遍历每个页面并检查批准的文件。

我似乎找不到任何文件来指定批准的文件名。

任何有使用 Approval Tests 框架经验的人都可以提供任何见解吗?

或者任何其他允许我批准测试图像集合的框架?

谢谢。

0 投票
1 回答
787 浏览

c# - 批准测试抛出 System.MissingMethodException

我正在尝试使用 Approval-Tests 但甚至无法运行“Hello World”。当我运行测试时,我得到

我的课是:

我应该怎么做才能让它运行并创建一个文件?

0 投票
1 回答
114 浏览

approval-tests - 在使用 ApprovalTests 时,有没有办法可以使用与 .txt 不同的扩展名,例如 .log 或 .csv?

我希望内容保留为文本文件,因此代码如下:

应该继续工作。但我希望批准测试写入 ..approval.csv 文件或 ..approval.log 文件而不是 ..approval.txt 文件。

我查看了代码,我想我可能需要创建一个自定义 IApprovalWriter,但我也注意到 ExtensionWithDot 属性是读/写的,所以我想知道如何设置它。

有谁知道这是怎么做到的吗?

0 投票
3 回答
838 浏览

approval-tests - 我如何在运行审批测试时自动批准它们?

我正在使用 ApprovalTests.Net。我看到我可以指定各种报告。我想在运行单元测试时自动批准测试。我只需要暂时这样做,或者在代码发生重大更改时这样做。这在使用 ApprovalResults.ForScenario 创建数据驱动的 ApprovalTests 时特别有用。

有没有办法做到这一点?

0 投票
1 回答
166 浏览

c# - NCrunch 正在启动 ApprovalTests DiffReporter

如何让 NCrunch 在后台运行测试时停止启动 DiffReporter,但在手动运行测试时轻松获取 DiffReport?

我一直试图让它工作一段时间,但我尝试过的任何组合都没有给我我正在寻找的结果。我目前正在将该[UseReporter(typeof(DiffReporter))]属性注释掉。当测试开始失败时,我会回来并取消注释,直到我解决问题,然后将其注释掉,但这对于具有多个[TestCase]. 从我在 ApprovalTests 博客上阅读的内容来看,这似乎应该是可能的。

我的 diff 软件是 Beyond Compare,我的代码目前如下所示:

测试项目/AssemblyInfo.cs

测试项目/ClassTests.cs

更新:
我正在使用以下 NuGet 包:
- ApprovalTests v3.0.11
- ApprovalUtilities v3.0.11
- NUnit v3.2.1