說我有以下順序:在Vows.js中,如何在通過異步回調後恢復原始主題?
vows.describe('Example').addBatch({
'An example' : {
topic: new Example(),
'with an async method' : function(example) {
example.asyncMethod(this.callback);
},
'will do some magic' : function(err, result) {
assert.equal(result.magical, true);
},
'and then we will be back on track' : function(example) {
assert.isTrue(example.backOnTrack);
}
}
}).run();
是測試「and then we will be back on track
」可能打從之前的話題(Example
)?
編輯
vows.describe('Example').addBatch({
'An example' : {
topic: function(example){ // <- where example is a parent topic
example.asyncMethod(this.callback);
},
'callback after an async method will do some magic' : function(err, result) {
assert.equal(result.magical, true);
},
'and then we will be back on track' : function(example) {
assert.isTrue(example.backOnTrack);
}
}
}).run();
謝謝,我實際上已經通過你的文檔(順便說一下,再次感謝你的誓言,相當了不起),但忘了編輯問題。 我已經編輯過,雖然你所描述的。在你所描述的和我編輯的代碼中(假設他們匹配),你將如何跳回到'然後我們會回到正軌'的例子?可能嗎? – Chance
我基本上試圖測試異步方法的副作用,並且需要能夠重新獲得對'example'的訪問權限才能這樣做。 – Chance
@讓你不要跳回來。誓言不允許這樣做。你只能返回一個主題。這裏有一些攻擊手段。 – Raynos