Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sails.js 蓝鸟承诺摩卡/柴测试中的每一个都不起作用_Sails.js_Mocha.js_Bluebird_Chai - Fatal编程技术网

Sails.js 蓝鸟承诺摩卡/柴测试中的每一个都不起作用

Sails.js 蓝鸟承诺摩卡/柴测试中的每一个都不起作用,sails.js,mocha.js,bluebird,chai,Sails.js,Mocha.js,Bluebird,Chai,我希望得到一些帮助,以确定为什么我在sails.js应用程序中的单元测试没有按预期工作 我正在sails.js应用程序上使用摩卡、柴和蓝鸟承诺库 我想要实现的目标: 为TagsService.Create(name)方法创建一个测试,该方法接受一个名称 参数 测试此方法是否不会基于我传递的无效名称创建新标记记录 name参数是必需的,长度应小于121个字符 我目前拥有的: //测试“create”方法 描述('Method'create\'测试结果:\n',函数(){ //测试名称是否为必

我希望得到一些帮助,以确定为什么我在sails.js应用程序中的单元测试没有按预期工作

我正在sails.js应用程序上使用摩卡、柴和蓝鸟承诺库

我想要实现的目标:

  • 为TagsService.Create(name)方法创建一个测试,该方法接受一个名称 参数
  • 测试此方法是否不会基于我传递的无效名称创建新标记记录
  • name参数是必需的,长度应小于121个字符
我目前拥有的:

//测试“create”方法
描述('Method'create\'测试结果:\n',函数(){
//测试名称是否为必填项且长度小于121个字符
它('必须接收名称参数且长度小于121个字符',函数(完成){
//它不应接受以下任何名称
变量名称=['','此字符串长度为字符串长度为字符串长度为字符串长度为字符长度为字符串长度为字符长度为字符串长度为字符长度为字符串长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度为字符长度;
帆。蓝鸟。每个(名称,功能(名称){
TagsService.create(名称)。然后(函数(数据){
assert.propertyVal(数据、'status'、'err'、'err'未返回错误-即使提供的名称应无效');
});
}).然后(函数(){
完成();
});
});

})
嗯,经过多次尝试和错误之后,看起来我终于解决了这个问题

事实证明,在执行每个方法之后,我需要捕获承诺中的done()回调。还需要返回从TagsService承诺对象完成的测试的结果。(仍然不能100%确定这是正确的思考方式。)无论如何,测试现在似乎运行正常

以下是我的结果:

var name=['','ThisStringIsLongerThanHemaxOf121字符长度ThisStringIsLongerThanHemaxOf121字符长度ThisStringIsLongerThanHema',[],[{}],{test:'test'}],'errochars*[]$%fsf','$%@}[','�$%jkdfi','$%“�asdwdFDE',hD8U�$&{DS'];
帆。蓝鸟。每个(名称,功能(名称){
返回标记service.create(名称)。然后返回(函数(数据){
属性(数据“status”,“create方法未返回status属性”);
assert(data.status=='err',即使传递了无效的名称参数,它也不会返回错误状态,这必须与无效名称一起执行);
});
}).然后(函数(){
完成();
}).catch(完成);