更改 jquery-mockjax 在摩卡测试过程中返回数据
Changing jquery-mockjax return data in the middle of a mocha test
我正在使用摩卡编写测试,以检查从 rest api 轮询的更改状态是否正确呈现。是否可以更改模拟端点在测试过程中返回的内容?我尝试覆盖模拟端点并使用var
作为数据并更改它,但都不起作用。
使用覆盖:
it("should render correctly") {
loadPage(done, {init: function() {
testUtils.mockjax("/url", {"data": "data"})
}, onload: function() {
expect($$("#data")).to.be.visible()
testUtils.mockjax("/url", {"data": ""})
clock.tick(5000)
expect($$("#data")).not.to.be.visible() # does not work
...
done()
}
}
带变量:
it("should render correctly") {
var data = {"data": "data"}
loadPage(done, {init: function() {
testUtils.mockjax("/url", data)
}, onload: function() {
expect($$("#data")).to.be.visible()
data = {"data": ""}
clock.tick(5000)
expect($$("#data")).not.to.be.visible() # does not work
...
done()
}
}
我会通过设置自定义处理程序函数而不是基本的 url 和数据匹配来做到这一点。您需要在测试块之前设置此模拟,但随后您可以检查传入的请求数据并确定是否匹配以及返回什么:
$.mockjax(function(requestSettings) {
if ( requestSettings.url === '...' ) {
return {
responseText: "foo" // you can change this based on the incoming request
};
}
// If you get here, there was no match
return;
});
相关文章:
- Javascript返回值只在循环中返回一次
- 如何在d3.js中返回路径的y坐标
- Angular,函数在(模型)工厂中返回值
- 无法在Meteor/MongoDB中返回当前用户对象
- getBoundingClientRect在Chrome中返回相同的值
- 如何在javascript回调函数中返回多个变量
- 尝试求和时,在我的表的页脚中返回$NaN
- 为什么可以't我在谷歌浏览器中返回cookie
- 数组在单个输入中返回
- JS-fn()中返回后方括号的含义{return{}[]}
- DreamFactory REST API POST休息/用户/会话请求总是在IE9中返回错误
- 在promise中返回callback()和callback(
- JQuery BlockUI鼠标加载光标没有't在Google Chrome中返回默认值
- importScripts在web工作程序中返回未定义的
- date对象未在javascript中返回正确的日期值
- 在提交过程中使用同步确认灯箱提交表格
- querySelectorAll在Firefox Addon中返回带有空对象的数组
- 未从 asp 经典中存储的过程捕获返回值
- 更改 jquery-mockjax 在摩卡测试过程中返回数据
- 在脚本执行过程中,当AJAX调用返回时,JavaScript中会发生什么