[解決済み] Jasmineで'Error'が投げられることを期待するテストを書くには、どうすればよいですか?
2022-03-18 03:39:24
質問
のテストを書こうとしています。 Jasmineテストフレームワーク エラーを期待するものです。今のところ、私は GitHubからのJasmine Node.jsインテグレーション .
私のNode.jsモジュールでは、以下のようなコードになっています。
throw new Error("Parsing is not possible");
さて、このエラーを想定したテストを書いてみます。
describe('my suite...', function() {
[..]
it('should not parse foo', function() {
[..]
expect(parser.parse(raw)).toThrow(new Error("Parsing is not possible"));
});
});
また
Error()
と他のバリエーションがありますが、どうすればうまくいくのかがわかりません。
解決方法は?
代わりに無名関数を使用してみてください。
expect( function(){ parser.parse(raw); } ).toThrow(new Error("Parsing is not possible"));
に関数を渡す必要があります。
expect(...)
を呼び出します。あなたの間違ったコード
// incorrect:
expect(parser.parse(raw)).toThrow(new Error("Parsing is not possible"));
が実際にやろうとしているのは
コール
parser.parse(raw)
に渡そうとしている。
expect(...)
,
関連
-
Vueの一般的な組み込みディレクティブの説明
-
[解決済み】React - uncaught TypeError: 未定義のプロパティ 'setState' を読み取れない
-
[解決済み】TypeScript-のAngular Frameworkエラー - "exportAsがngFormに設定されたディレクティブはありません"
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptのオブジェクトが空であることをテストするにはどうすればよいですか?
-
[解決済み] JavaScriptで空文字列/未定義文字列/null文字列をチェックするにはどうすればよいですか?
-
[解決済み] JavaScriptで要素のクラスを変更するにはどうすればよいですか?
-
[解決済み] JavaScriptで文字列をbooleanに変換するにはどうしたらいいですか?
-
[解決済み] 2つのJavaScriptオブジェクトのプロパティを動的にマージするにはどうすればよいですか?
-
[解決済み] どのラジオボタンが選択されているかをjQueryで知るにはどうしたらよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Vue+ElementUIによる大規模なフォームの処理例
-
vueディレクティブv-bindの使用と注意点
-
vueのプロジェクトでモックを使用する方法を知っていますか?
-
[解決済み】SyntaxError: JSONの位置1に予期しないトークンoがある。
-
[解決済み】GETできない / Nodejsエラー
-
[解決済み】「X-Frame-Options」を「SAMEORIGIN」に設定したため、フレームでの表示を拒否された。
-
[解決済み】ExpressJS : res.redirect()が期待通りに動かない?
-
[解決済み】React-Redux: アクションはプレーンオブジェクトでなければならない。非同期アクションにはカスタムミドルウェアを使用する
-
JavaScriptのStringに関する共通メソッド
-
JSクリックイベント - Uncaught TypeError: プロパティ 'onclick' に null を設定できません。