我正在尝试使用Qunit来测试一些代码,但是我在使用 Ajax 调用时遇到了一些问题。我什至无法通过使用 jQuery 方法的最简单的 Ajax 调用来正确测试它们。问题似乎是,无论我做什么,文本响应都会附加一个尾随空格。
我的初始代码类似于
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 调用正常工作,预期:“foo” 结果:“foo”,差异:
“foo”“foo”
然后我尝试了以下方法:
- 我已经针对“foo”(包括尾随空格)进行了测试
- 我
response.replace(' ', '')
在测试之前做过 - 我改变了 ajax.txt 文件的字体编码
- 我在 Firefox 和 Chrome 中都测试过,每次都清理缓存
- 我已经手动测试了警报中的相等性,即使使用 == 比较
但在任何情况下我都无法得到匹配。例如,在第一个变体中,我得到了令人费解的答案
Ajax 调用正常工作,预期:“foo” 结果:“foo”,差异:“foo”
我现在有点发疯了。我可能做错了什么?