我正在尝试使用Qunit测试一些代码,但是Ajax调用存在一些问题。我什至不能让他们使用jQuery方法使用最简单的Ajax调用来正确测试。问题似乎是无论我做什么,尾随空格都被附加到textResponse上。
我的初始代码是这样的
asyncTest('Ajax calls', function() { expect(1); $.get('ajax.txt', {}, function(response) { equal(response, 'foo', 'Ajax calls work correctly'); }); setTimeout(function() { start(); }, 600); });
哪里ajax.txt是包含字符的文本文件foo。该测试失败,报告
ajax.txt
foo
Ajax调用可以正常工作,预期:“ foo”结果:“ foo”,diff: “ foo” “ foo”
然后,我尝试了以下方法:
response.replace(' ', '')
但无论如何我都无法找到比赛。例如在第一个变体中,我得到了令人困惑的答案
Ajax调用正常工作,期望:“ foo”结果:“ foo”,diff:“ foo”
我现在有点生气。我可能做错了什么?
您可以$.trim()(jQuery修剪,因为IE <9本身没有它)结果,如下所示:
$.trim()
equal($.trim(response), 'foo', 'Ajax calls work correctly');
为什么 会这样呢?可能是格式错误,例如Unix vs Windows行尾在您那里爬行。