我正在使用FitNesse来测试Web服务响应,使用'check'来比较预期响应和实际响应;在某些情况下,检查失败了,我看不出导致它失败的预期和实际之间的差异。
这是一个屏幕截图,它描述了它在特定实例(许多类似实例)中告诉我的内容;有谁能发现为什么它没有通过检查?
随意指出明显的;它可能正盯着我的脸,我看起来很难,我看不到它!
谢谢,
答案 0 :(得分:1)
我会检查预期字符串和实际字符串是否都使用相同的文本编码。当文本比较失败时,由于逗号或撇号被写入不同的编码,我已经多次看到这个错误。
答案 1 :(得分:0)
您的字符串可能包含实际值中的额外空格。基于html的FitNesse不会尊重领先或尾随空格。它可能无法处理实际内部的任何额外空间。所以这可能导致结果不同,但不明显。
看看你是否可以添加一些可以帮助你看到额外空格的调试信息,或者至少计算两个字符串中的字符数。
答案 2 :(得分:0)
这个问题没有说明是否正在使用Slim或Fit,或者使用Slim时是哪个Slim服务器/插件,但我发现使用FitNesse版本 20130530 和fitSharp时,以下情况属实发布 2.2 :
由于[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开始)对预期和实际结果值进行差异处理。这对你有帮助吗?