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 は、どのテストがエラーであるかを示しません。これには an を使用するのEventEmitter
が正しい選択ではないと思いますが、特定のコレクション内の各オブジェクトに対して新しいトピックを作成する方法が他にわかりません。