Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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
Javascript 编写异步Vows.js测试时出错_Javascript_Node.js_Vows - Fatal编程技术网

Javascript 编写异步Vows.js测试时出错

Javascript 编写异步Vows.js测试时出错,javascript,node.js,vows,Javascript,Node.js,Vows,我一直在使用node并使用vows编写测试 var vows = require('vows'); var assert = require('assert'); var boardData = require('../lib/data/BoardData.js'); vows.describe('Loading provinces and Boundries for').addBatch({ 'version': { '2008E5-1':{ topic: func

我一直在使用node并使用vows编写测试

var vows = require('vows');
var assert = require('assert');

var boardData = require('../lib/data/BoardData.js');

vows.describe('Loading provinces and Boundries for').addBatch({
  'version': {
    '2008E5-1':{
      topic: function () { boardData.createBoard("2008E5",this.callback); },
      'exists': function (err,provs,bounds) { assert.ok(true); }
    }/*,
    '2008E5-2': {
      topic: function () { boardData.createBoard("2008E5",this.callback); },
      'exists': function (err,provs,bounds) { assert.ok(true); }
    }*/
  }
}).export(module);
当我运行这段代码时,我得到了预期的结果。 当我取消注释已注释的部分时,请注意两个已成功完成,但可以通过放置console.log(“foo”)两次发现第二个已成功完成;在正确的位置

·· ✓ OK » 2 honored (0.067s)
·
✗ Errored » callback not fired
  in version 2008E5-1
  in Loading provinces and Boundries for
  in undefined

这一定是因为我遗漏了什么或者对什么缺乏理解,但我无法理解。有人能帮我吗?提前谢谢

boardData.createBoard包含其他is异步调用,显然这是不允许的(应该在设置中完成吗?)。没有证据,只是实验。

我担心“版本”键没有主题。我认为它需要一个自己的主题。如果需要,可以在其下嵌套子主题

或者,使用
--spec
选项运行它,以查看正在运行的测试

vows --spec


看起来boardData.createBoard没有调用回调。它在代码中运行注释时调用回调。使用简单的console.log(“foo”);在回调函数的内部显示它是这样做的。”存在”:函数(err、provs、bounds){console.log(“foo”);assert.ok(true);}
./node_modules/vows/bin/vows --spec