JasmineのtoHaveBeenCalledWithメソッドでオブジェクト型を使用する
2023-09-14 21:08:48
質問
Jasmineを使い始めたばかりなので、初心者の質問で申し訳ないのですが、オブジェクトタイプをテストするために
toHaveBeenCalledWith
?
expect(object.method).toHaveBeenCalledWith(instanceof String);
これができるのは知っていますが、引数ではなく戻り値をチェックしているのです。
expect(k instanceof namespace.Klass).toBeTruthy();
どのように解決するのですか?
toHaveBeenCalledWith
はスパイのメソッドです。そのため、以下の説明のようにスパイにのみ呼び出すことができます。
ドキュメント
:
// your class to test
var Klass = function () {
};
Klass.prototype.method = function (arg) {
return arg;
};
//the test
describe("spy behavior", function() {
it('should spy on an instance method of a Klass', function() {
// create a new instance
var obj = new Klass();
//spy on the method
spyOn(obj, 'method');
//call the method with some arguments
obj.method('foo argument');
//test the method was called with the arguments
expect(obj.method).toHaveBeenCalledWith('foo argument');
//test that the instance of the last called argument is string
expect(obj.method.calls.mostRecent().args[0] instanceof String).toBeTruthy();
});
});
関連
-
[解決済み】JavaScriptで「無効な日付」のDateインスタンスを検出する
-
[解決済み] デバイスがiOSであるかどうかを検出する
-
[解決済み] HTML5のlocalStorageにオブジェクトを格納する方法は?
-
[解決済み] forEachループでasync/awaitを使用する
-
[解決済み] オブジェクトをメンバーとして、プレーンなJavaScriptオブジェクトをループさせる方法
-
[解決済み] jQueryでフォームデータをJavaScriptオブジェクトに変換する
-
[解決済み] jQueryでJavaScriptオブジェクトから選択する際に、オプションを追加する最も良い方法は何ですか?
-
[解決済み] フェッチする JSONデータをPOSTする
-
[解決済み] Jasmineを使って、オブジェクトを持たない関数をスパイする
-
[解決済み] ExtJS 4のイベントハンドリングについて
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 文字列がすべて同じ部分文字列で構成されているかどうかを調べるにはどうすればよいですか?
-
[解決済み] CORS OriginヘッダーとCSRFトークンによるCSRF保護
-
[解決済み] react-routerのハッシュフラグメントからクエリパラメータを取得する
-
[解決済み] JavaScript のオブジェクトの配列を比較し、最小値/最大値を取得する
-
[解決済み] Reactメモを使うべきではない場合とは?
-
[解決済み] Promise : then vs then + catch [重複].
-
[解決済み] querySelectorAllがない場合、ライブラリを使用せずに属性で要素を取得する?
-
[解決済み] JavaScriptの文字列プリミティブとStringオブジェクトの違いは何ですか?
-
[解決済み] Fetch: ステータスがOKでない場合、プロミスを拒否し、エラーをキャッチするか?
-
[解決済み] JavaScriptデータフォーマット/プリティプリンタ