🚀
[jest] Promise型のテストの書き方
Promiseのようなコンストラクタがある場合はインスタンスが作成されているかの確認ができる
対象のコード
promise() {
new Promise(resolve, reject) => {
何らかの処理
}
}
対象のテスト
expect(component.promise()).toBeInstanceOf(Promise)
promiseのインスタンスがあるということがわかる
またpromiseのmockを作成する場合、Promiseは返り値としてPromise型を返すので
const result = 'resultですよ'
const error = new Error('errorですね')
jest.spyOn(component, 'promise').and.returnValue(Promise.resolve(result))
jest.spyOn(component, 'promise').and.returnValue(Promise.reject(error))
jestでもPromiseを返すようにする必要がある
Discussion