【Jasmine】テストを失敗させる
概要
Jasmine
で特定ケースの場合、テストを失敗させたい場合はfail
メソッドまたはdone.fail
を使用します。
Promise
やRxJS
等でreject
やthrowError
を発生させるテストの場合、正常に動作してしまう場合がテスト失敗なため、fail
メソッド等で明示してあげるとテスト失敗が分かりやすいです。
動作環境
- TypeScript 2.7.2
- Jasmine 2.8.0
サンプルソース
it ('Promise Test 2', (done: DoneFn) => { // setup const func = new Promise<string>((resolve, reject) => { setTimeout(() => { reject('error'); }, 500); }); // exercise func.then(data => { // thenの場合はテスト失敗 done.fail('エラーが発生しませんでした。'); // fail('エラーが発生しませんでした。'); }).catch(err => { // verify expect(err).toBe('error'); // 完了待機 done(); }); });