我正在尝试使用 Vows.js 对集合中的每个项目运行单元测试,并且我花了很多时间让它工作。这是我目前所拥有的。
'the variations objects': {
topic: function() {
var promise = new(events.EventEmitter),
variations = JSON.parse(body).variations;
for(var i = variations.length - 1; i >= 0; i--) {
promise.emit("success", variations[i]);
};
return promise;
},
'should have an x': function(topic) {
should.exist(topic.x);
},
'should have an action on the add_to_cart object if the product is IN_STOCK': function(topic) {
if(topic.x.id === 'TEST'){
should.exist(topic.x.action)
}
}
}
这似乎正在工作。但是,当我运行测试时,我得到了 34 个通过和 1 个错误。Vows 并没有指出哪个测试出错了。我不觉得使用 anEventEmitter
是正确的选择,但我不确定如何为给定集合中的每个对象创建一个新主题。