Testing response from a call back failure.
- 主要言語
- JavaScript
- スター
- 1.9k
- フォーク
- 359
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
So I have some code that requires waiting for a call back and testing the response of it.
For some reason the callback never managed to get called. I've stepped through the code with the debugger but the nodeunit process finishes (with unfinished tests) before the callback can actually fire. I have no doubt I am doing something wrong but no idea what.
This is the test code I'm using:
```
exports["Strip - Firmata"] = {
setUp: function(done){
this.board = newBoard();
done();
},
tearDown: function(done) {
Board.purge();
restore(this);
done();
},
stripReady: function(test) {
test.expect(1);
var strip = new pixel.Strip({
data: 6,
length: 8,
board: this.board,
controller: "FIRMATA",
});
strip.on("ready", function() {
console.log("strip ready");
test.ok(true);
test.done();
});
},
}
```
For context: The `stripReady` test needs to test that a particular event is being emitted by the strip object once it's good to go (this is talking to some hardware behind the scenes). Down the line I'll want to test the appropriate error events as well.
When I trace this with the debugger, the strip constructor gets called, the handler gets bound but right at the moment the handler is bound nodeunit then exits.
As such it doesn't get a chance to drop into the ready handler shown above. I can trace to the point where it emits the message on the `Strip` side but that event handler never gets called.
So the question is how do I get nodeunit to hang around long enough to get the response back?
FYI the strip constructor is correct and it working properly with the hardware.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
示されている stripReady テストと nodeunit の非同期テストライフサイクルから始め、その後、issue に記載されているハードウェア構成でテストを実行します。ready イベントが観測され、その assertion が nodeunit の終了前に完了し、動作を再現できるか説明できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- javascript
- 領域
- testing-qa
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100