Javascript 编写异步Vows.js测试时出错
我一直在使用node并使用vows编写测试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
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