测试功能无效
Test functions ineffective
我使用了一个承诺,在Mocha测试过程中等待Facebook API的响应。我想知道为什么expect
函数实际上没有检查数据是否包含在响应中。
我在控制台中看到resolve
,这表明图形调用有效,promise得到了解决,但测试通过了,尽管事件在expect(data).to.include
语句中不包括随机数据。当承诺解决时,我如何获得测试响应?
var promise = new Promise(function(resolve, reject) {
var eventFB1 = graph.get('132166232459578/posts',
{limit: 1,
access_token: 't0k3n'
});
if (typeof eventFB1 !== 'undefined') {
resolve(eventFB1);
console.log('resolve');
}
else {
reject(Error("It broke"));
console.log('reject');
}
});
return promise.then(function(data) {
expect(data).to.include( 'Event name: Testing London eveng 23498723rstni' );
console.log(data);
});
您需要将done作为参数传递给测试,然后在"then"方法中调用它。done参数告诉mocha指定的测试已经完成。
it('should have the included string for data', (done) => { // <-- add done as argument
var promise = new Promise(function(resolve, reject) {
var eventFB1 = graph.get('132166232459578/posts',
{
limit: 1,
access_token: 't0k3n'
});
if (typeof eventFB1 !== 'undefined') {
resolve(eventFB1);
console.log('resolve');
}
else {
reject(Error("It broke"));
console.log('reject');
}
});
return promise
.then(function(data) {
expect(data).to.include( 'Event name: Testing London eveng 23498723rstni' );
console.log(data);
done(); // <-- call done
});
}
如果您的测试抛出错误,并且在catch块中未调用done,则您的测试将挂起,并在2秒后超时。
相关文章:
- 添加文字和评论功能更新Div
- JavaScript打印功能使日历停止工作
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- 如何防止网页加载后自动启动功能
- 除修剪外的其他功能
- 悬停功能触发器
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 删除CKEditor工具栏按钮,但不删除功能
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- 异步facebook功能
- 如何将chrome扩展功能移植到移动设备(特别是jquery和trello)
- jQuery滚动功能只工作一次
- Graphiti中是否有任何工具提示功能
- React redux初始化功能,无论状态变化如何
- 在哪里可以学习ECMAScript标准中尚未包含的JavaScript功能
- 无法找到问题:使用iplib-js进行一般ip配置功能,无效ip返回有效
- 为什么这个功能CPS功能在Chrome中有效,而在其他浏览器中无效
- 测试功能无效
- 必填字段验证器允许onclick功能,即使字段无效