[解決済み] Jasmineのスパイで複数の呼び出しに対して異なる戻り値を持たせる方法
2022-09-03 16:58:35
質問
このようなメソッドをスパイしているとします。
spyOn(util, "foo").andReturn(true);
テスト対象の関数が呼び出す
util.foo
を複数回呼び出します。
スパイが
true
を返すようにすることはできますか?
false
を返すのでしょうか?それとも、別の方法があるのでしょうか?
どのように解決するのですか?
あなたは spy.and.returnValuesを使用することができます。 (を使用することができます(Jasmine 2.4として)。
例えば
describe("A spy, when configured to fake a series of return values", function() {
beforeEach(function() {
spyOn(util, "foo").and.returnValues(true, false);
});
it("when called multiple times returns the requested values in order", function() {
expect(util.foo()).toBeTruthy();
expect(util.foo()).toBeFalsy();
expect(util.foo()).toBeUndefined();
});
});
注意しなければならないのは、似たような呪文を唱える別の関数があることです。
returnValue
を使わずに
s
を使用した場合、jasmineは警告を出しません。
関連
-
[解決済み] モバイルブラウザの検出
-
[解決済み] JavaScriptで複数の値を返す?
-
[解決済み】Mockitoのモックオブジェクトが次に呼び出されたときに異なるものを返すように指示するには?
-
[解決済み] 引数に基づいてJasmineのスパイを修正する方法はありますか?
-
[解決済み] Jasmineを使って、オブジェクトを持たない関数をスパイする
-
[解決済み] 配列からオブジェクトを生成する
-
[解決済み] なぜJavaScriptでは!{}[true]がtrueに評価されるのですか?
-
[解決済み] 文字列が空白であるかどうかをチェックする
-
[解決済み] JavaScriptでjson-objectのキーを取得する [重複].
-
[解決済み] 各オブジェクトに?重複
最新
-
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では!{}[true]がtrueに評価されるのですか?
-
[解決済み] 文字列が空白であるかどうかをチェックする
-
[解決済み] CORS OriginヘッダーとCSRFトークンによるCSRF保護
-
[解決済み] JSXとLoadshを使用して、ある要素をn回繰り返す方法
-
[解決済み] Reactコンポーネントでthis.setStateを複数回使用するとどうなりますか?
-
[解決済み] JavaScriptで文字列を数値に変換する最速の方法は何ですか?
-
[解決済み] AngularJS - ngRepeatフィルタリングされた結果の参照を取得する方法
-
[解決済み] jqueryはjavascriptのライブラリなのかフレームワークなのか?[クローズド]
-
[解決済み] JavaScriptでjson-objectのキーを取得する [重複].
-
[解決済み] JavaScriptデータフォーマット/プリティプリンタ