[解決済み] jasmineのモックオブジェクトのメソッドをスタブ化する方法は?
2023-05-17 16:47:23
質問
Jasmineのドキュメントによると、モックはこのように作成することができるようです。
jasmine.createSpyObj(someObject, ['method1', 'method2', ... ]);
これらのメソッドの1つをどのようにスタブするのでしょうか?例えば、あるメソッドが例外をスローしたときに何が起こるかをテストしたい場合、どのようにそれを行うのでしょうか?
どのように解決するのですか?
チェーン
method1
,
method2
は、EricGがコメントしたように、しかし
andCallThrough()
(あるいは
and.callThrough()
を使用します)。これは
実際の実装に委ねる
.
この場合
and.callFake()
で連結し、呼び出したい関数(例外を投げるなど何でも構いません)を渡します。
var someObject = jasmine.createSpyObj('someObject', [ 'method1', 'method2' ]);
someObject.method1.and.callFake(function() {
throw 'an-exception';
});
そして、検証する。
expect(yourFncCallingMethod1).toThrow('an-exception');
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] JavaScriptのオブジェクトが空であることをテストするにはどうすればよいですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み] Javascript / jQueryでAndroid端末を検出する。
-
[解決済み] $.ajax実行中にローディングイメージを表示する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 上級者向けJavaScript。この関数はなぜ括弧でくくられるのですか?重複
-
[解決済み] jqueryでdivの要素がオーバーフローしていないかチェックする
-
[解決済み] なぜJavaScriptでは!{}[true]がtrueに評価されるのですか?
-
[解決済み] ExtJS 4のイベントハンドリングについて
-
[解決済み] サブドメインにまたがってlocalStorageを使用する
-
[解決済み] TypeScriptプロジェクトで既存のC#クラス定義を再利用する方法
-
[解決済み] 各オブジェクトに?重複
-
[解決済み] Promise : then vs then + catch [重複].
-
[解決済み] JavaScriptで長い配列を小さい配列に分割する方法
-
[解決済み] リダイレクトされずにHTMLフォームを送信する方法