FitNesse检查失败,我看不到预期和实际之间的差异

时间:2012-01-11 17:57:43

标签: fitnesse

我正在使用FitNesse来测试Web服务响应,使用'check'来比较预期响应和实际响应;在某些情况下,检查失败了,我看不出导致它失败的预期和实际之间的差异。

这是一个屏幕截图,它描述了它在特定实例(许多类似实例)中告诉我的内容;有谁能发现为什么它没有通过检查?

Here's an example where it's failing and I can't see why

随意指出明显的;它可能正盯着我的脸,我看起来很难,我看不到它!

谢谢,

4 个答案:

答案 0 :(得分:1)

我会检查预期字符串和实际字符串是否都使用相同的文本编码。当文本比较失败时,由于逗号或撇号被写入不同的编码,我已经多次看到这个错误。

答案 1 :(得分:0)

您的字符串可能包含实际值中的额外空格。基于html的FitNesse不会尊重领先或尾随空格。它可能无法处理实际内部的任何额外空间。所以这可能导致结果不同,但不明显。

看看你是否可以添加一些可以帮助你看到额外空格的调试信息,或者至少计算两个字符串中的字符数。

答案 2 :(得分:0)

这个问题没有说明是否正在使用Slim或Fit,或者使用Slim时是哪个Slim服务器/插件,但我发现使用FitNesse版本 20130530 和fitSharp时,以下情况属实发布 2.2

  1. 作为字符串的输入参数/参数中的非ASCII字符和{撇号/单引号字符}是HTML编码的。我的FitNesse测试表中的值是HTML编码的,但只有必需的语法字符和(双)引号;不是非ASCII字符(而FitNesse似乎在存储这些值时没有任何问题)。
  2. 作为字符串的输入参数中的EOL字符仅由换行符
  3. 组成
  4. 我想,因为我使用的是.NET,我的返回值中的EOL包含回车符和换行符。
  5. 由于[1],我是HTML编码的非ASCII字符(但不是HTML语法字符或引号)。由于[2]和[3],我现在从我的夹具返回值中删除回车符。这两个变化似乎已经为我解决了这个问题,现在报告的预期和实际值是相同的。

答案 3 :(得分:0)

空白经常困扰我。生成的HTML只会折叠空白,但代码中的比较却没有。 我现在使用一个夹具来使我的差异更明确。用法示例:http://fhoeben.github.io/hsac-fitnesse-fixtures/examples-results/HsacExamples.SlimTests.UtilityFixtures.CompareFixtureTest.html

FitNesse的较新版本(自20151230开始)对预期和实际结果值进行差异处理。这对你有帮助吗?