【发布时间】:2011-05-13 01:09:14
【问题描述】:
我正在尝试使用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”
我现在有点发疯了。我可能做错了什么?
【问题讨论】:
标签: javascript jquery ajax unit-testing qunit