概要 JasmineでのPromiseをテスト時にはテスト定義の引数にdoneを利用します。 doneを利用することで、非同期処理完了後まで待機してくれます。 doneを設定しない場合は、Promise.then内の処理をスルーしてテストを終了するため、正常なテスト結果がでない場合があります。 動作環境 TypeScript 2.7.2 Jasmine 2.8.0 サンプルソース it ('Promise Test 1', (done: DoneFn) => { // setup const func = new Promise<string>((resolve, reject) => { setTimeout(() => { resolve('ok'); }, 500); }); // exercise func.then(data => { // verify expect(data)