问题标签 [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 投票
2 回答
984 浏览

c# - 测试失败时,ApprovalTests DiffReporter 不会弹出差异窗口

ApprovalTests DiffReporter如果测试失败,则在运行测试后不会弹出差异窗口。下面是我的代码。

它会在我同事的一台机器上弹出相同代码的差异窗口。我们使用具有相同设置的相同版本的 Visual Studio,并且我们都没有安装任何差异工具。

但是,我可以在 VS 2012 中运行测试(弹出差异窗口),但不能在 VS2013 中运行。

版本:ApprovalTests.dll:3.0.0.0 Visual Studio:2012 Professional、2013 Professional

这里的任何帮助将不胜感激。谢谢!

0 投票
1 回答
79 浏览

.net - 在 CI 服务器上生成的 PDF 未通过审批测试

我正在尝试 ApprovalTests.NET 来测试基于 MigraDoc 构建的一些(主要是旧版)PDF 生成代码。被测代码将 PDF 呈现为 MemoryStream,然后清除各种元数据属性(使用我改编自 的代码PdfScrubber),转换为字节数组并使用Approvals.VerifyBinaryFile().

测试在我和同事的机器上通过(都运行 Windows 10),但在我们的 TeamCity 构建代理(我认为是运行 Windows Server 2012 R2 的 Azure VM)上失败。比较 Received 文件(在构建服务器上生成)和 Approved 文件(在我的机器上生成),文件的元数据部分相同,但二进制部分完全不同,一个文件比另一个文件短约 1 kb .

什么可能导致差异?它可能与操作系统有关吗?

编辑

问题似乎是字体(感谢 PDFSharp Expert 的建议)。仔细观察,有两个不同的二进制对象,它们显然定义了标题和正文字体:当我删除一个然后另一个时,标题和正文分别变成点。

那么,有没有办法保证所有机器在字体方面都产生相同的输出?到目前为止,我已经尝试过:

  • 传递PdfFontEmbedding.NonePdfDocumentRenderer(以前它使用PdfFontEmbedding.Always)的构造函数
  • 像这样设置私有字体:

    /li>

在这两种情况下,我在本地机器上都得到了与以前相同的输出。

0 投票
1 回答
711 浏览

c# - 将 xml 与 ApprovalTests 进行比较时忽略属性的顺序

我正在尝试 Approvals.Verify xml,但问题是属性的顺序。在少数元素中,它们在我的计算机和 Jenkins 中的顺序不同。从其他问题中,我发现更改类中属性的顺序。这有点奏效:它改变了属性的顺序,但现在詹金斯的顺序是它曾经在我的电脑中的顺序,反之亦然。因此,更改属性在课堂上的顺序没有帮助。

有没有办法使用 ApprovalTests 来忽略 xml 属性的顺序?或者我怎么能说出 xml 序列化中属性的确切顺序?还是其他提示?

0 投票
0 回答
35 浏览

c#-4.0 - 有没有办法编辑和保存现有的 pdf 邮票而不改变 pdf 的其余部分

有人可以帮助我提供代码而不是让我参考 itextsharp 和 pdf。

基本上,我正在尝试编辑第一页中的现有 pdf 时间戳和第二页中的日期,该日期位于表格及其 100 页文档中。我正在使用 C# 批准测试来比较两个 pdf。但是在日期位置的这两个实例中是失败的。所以有人可以帮助我使用 C# 代码来读取现有的 pdf,在同一个地方编辑 pdf 并保存相同的 pdf。

谢谢

0 投票
2 回答
205 浏览

java - 如何使用 ApprovalTests 批准日志

我想使用Approval Tests来验证日志输出。处理日志文本的动态内容(例如时间戳)的首选方法是什么?包含的FileApprover总是比较文件是否完全相等。

0 投票
1 回答
39 浏览

asp.net - ApprovalTests.Asp.Mvc 有错误

我正在使用 ApprovalTests,并且

没有错误。另一方面,当我尝试使用 ApprovalTests.Asp.Mvc 时出现错误:

错误 CS0234 名称空间“ApprovalTests.Asp”中不存在类型或名称空间名称“Mvc”(您是否缺少程序集引用?)

我该如何解决?

0 投票
2 回答
796 浏览

c# - 带有 TestCase (Nunit) 的 ApprovalTests 使用相同的批准文件

我有一个问题,即使用 ApprovalTests.Net 和 NUnit 运行的所有测试都使用相同的批准文件,该文件的名称源自测试方法名称。

是否可以以某种方式为每个测试用例指定单独的批准文件?

0 投票
1 回答
47 浏览

nunit - ServiceStack.XmlServiceClient 响应缺少默认值

在多个 ServiceStack 服务客户端的单元测试中使用 TestCaseSource 时,反序列化为 XmlServiceClient 的字符串格式与反序列化的 JsonServiceClient 或 JsvServiceClient 不匹配。序列化使用来自 ServiceStack.Text.TypeSerializer 类的 SerializeAndFormat 扩展方法。

使用OnDeserializing功能似乎没有提供相同的格式化字符串,因为它缺少默认值。

在调用 SerializeAndFormat 方法之前,将 excludeDefaultValues 设置为 false 使用相同的 JsConfig 范围。Json 和 Jsv 结果匹配,包括默认值,但 xml 服务客户端的结果不包括它们。未正确反序列化的对象是响应对象的属性的一个属性,并使用此属性 [Serializable] 进行修饰。

响应用 [DataContract]、[Serializable] 修饰,属性对象都用 [Serializable] 修饰。

应该如何修饰对象以使所有三个客户端的序列化响应保持一致?

结果是:

但应该是参数:

0 投票
1 回答
138 浏览

java - com.spun.util.FormattedException:在 C:\Users\nsyed\Awris2\LearnDatabase 下找不到 cucumber.api.testng.AbstractTestNGCucumberTests

我正在使用扩展 AbstractTestNGCucumberTests 的 TestRunner 类在 Testng 中运行黄瓜功能文件。在我使用 ApprovalTests 验证从数据库获得的响应的最后一步中,我遇到了一个问题。我看到一个异常

有谁知道为什么会出现这个异常?我的跑步者课程是:

例外情况在 Approvals.VerifyAsJso

@Then("^响应应该匹配黄金副本$") public void the_response_should_match_the_golden_copy() throws Throwable {

0 投票
1 回答
39 浏览

appveyor - AppVeyor 不产生工件

通过查看 AppVeyor 生成的一些Approval文件,试图了解我们的测试在 AppVeyor 中失败的原因。

我们尝试配置 AppVeyor 来收集.received文件,如下所示:

我们还尝试收集所有内容,如下所示:

但没有收集到文物。