2
私が書いたコードの単体テストを書こうとしていますが、実行中の問題は関数を実行した後にモックコールバックが呼び出されることです決して呼ばれない。ジャスミンテストNode.js非同期モジュール
describe("Asynchronous specs", function() {
var mockNext;
beforeEach(function() {
mockNext = jasmine.createSpy('mockNext');
var res;
parallelRequests.APICall(testObject[0], null, mockNext);
});
it("callback spy should be called", function() {
expect(mockNext).toHaveBeenCalled();
});
});
テストされている機能は非常に簡単です:
function APICall(options, res, next) {
request(options, callback);
function callback(error, response, body) {
if (error) {
if (error.code === 'ETIMEDOUT') {
return logger.error('request timed out: ', error);
next(error);
}
logger.error('request failed: ', error);
next(error);
}
next(null);
}
}
モックコールバックが原因要求の非同期性のためにAPI呼び出しで実行される前に、私は疑う問題は期待をテストジャスミンです。 done()とflagsを使って他の人が示唆しているものを使用しようとしましたが、運がありません。この問題についていくつかの指導を感謝します。