で要求に失敗しました。私はテスト実行のためのモカとスタブのためのサイロンを使用しています。私はonメソッドが呼び出された回数を数えることができるようにリクエストをスタブすることができますが、プロミスを含むことは決して解決しません。テストは、私は次のようないくつかのコードを持っているノード
約束事を処理するためにsinonで動作するパッケージがいくつかありますが(私はsinon-as-promisedとsinon-stub-promiseを試しました)、正しく解決するにはdoThingメソッド全体をスタブする必要があります。私は、このコードをテストするためのプロッパー方法や、テストが簡単な代替コード構造の入力を感謝します。
問題のテストでは、(それがdoThingを返すように約束を待ってハング)以下である:
context('when the server is unavailable', function(){
beforeEach(function() {
var onStub = sinon.stub();
requestStub = {post: function(){ return {on: onStub}}};
Service = proxyquire('path/to/service', {request: requestStub});
service = new Service();
});
it('should not set the auth key', function(){
return service.doThing().then(function(x){
return assert(onStub.calledOnce);
});
});
});
ありがとう!
モジュールコードのコメントです。 'resolve'関数でステータス値を返す代わりに、何かがうまくいかないときに' reject'メソッドを実行してください。ほとんどの場合、より理にかなっています:-) – oligofren
私の答えはあなたを助けましたか?レスポンス、upvote、または割り当てられた答え... – oligofren
それは私の全体的な知識を広げたという点で私を助けましたが、実際には私が持っていた問題を解決した同僚でした。私は自分自身で答えを書く前に、彼に応答する機会を与えています。 – biagidp