は冗談で、このような何かをテストする方法があります:非同期テスト
function hello(callback) {
someNonPromiseBasedAPI(callback);
}
のような何かがdone()
ジャスミン
非同期をテストするための冗談ドキュメントの状態で/ waitsFor()
それはPromiseを返す必要がありますが、私はテストに合うように自分のコードを変更したくありません。
は冗談で、このような何かをテストする方法があります:非同期テスト
function hello(callback) {
someNonPromiseBasedAPI(callback);
}
のような何かがdone()
ジャスミン
非同期をテストするための冗談ドキュメントの状態で/ waitsFor()
それはPromiseを返す必要がありますが、私はテストに合うように自分のコードを変更したくありません。
ただ、これは単なる'test'
でコールバック関数を呼び出す機能をsomeNonPromiseBasedAPI
の実装を置き換えるsomeNonPromiseBasedAPI
jest.mock('./path/to/someNonPromiseBasedAPI', (cb)=> cb('test'))
const cb = jest.fn()
const result = hello(cb)
expect(cb).toHaveBeenCalledWith('test')
をモック。テストでは、スパイを作成してhello
関数に渡します。モックが使用され、'test'
でスパイを呼び出します。それから、スパイが期待された引数で呼ばれたことをテストしてください。
Jestはフードの下でジャスミンを使用していますので、done
/done.fail
コールバックを自由に使用できます。
it('says hello', done => {
hello((err, result) => {
if (err) return done.fail(err);
expect(result).toBe('hello');
done();
});
});