問題タブ [spy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1892 参照

java - テストメソッド内で logger.debug() 呼び出しをモックする

テストしようとしているメソッドがありますmethodToTest()Loggerこのメソッド内には、次のような変数であると思われるものへの呼び出しがあります。

問題は、ロガー変数がクラスの外部で宣言されている (継承されているように見える) ことです。これにはソースがありません。

テスト クラスのインスタンスを作成してmethodToTest()メソッドを呼び出すと、NullPointerExceptionatlogger.debugステートメントが返されます。

ロガーを完全にモックするにはどうすればよいですか? それ自体のテスト中は役に立ちません。

Loggerテスト クラス内で変数を作成しても、エラーが発生します。

when().thenReturn();私はおそらくスパイを使うべきだと考えていますが、その方法がわかりませんし、現在の声明をどうしたらよいかわかりません.

@kamilの提案によると、

コードは次のエラーをスローしました:

0 投票する
1 に答える
1011 参照

unit-testing - Backbone.js の Mocha.js と sinon スパイ

私はダミーを持っていますBackbone.Model

そして、Backbone.View次のような私のモデルの場合:

テストには、mocha.js + chai + sinon を使用します。次のテストがあります。

テストしようとしているのは、renderメソッドをスパイすることです。モデル属性を変更すると、renderメソッドが呼び出されます。ただし、レンダリングが正常に実行されても、テストでエラーが発生します

何か助けはありますか?

0 投票する
1 に答える
3139 参照

angularjs - $resource で Jasmine spyOn を使用する

$resource でクエリを呼び出すコントローラーをテストするために Jasmine スパイを使用しようとしています。次のようにリソースへの呼び出しを記述すると、成功したテストを取得できます (以下にリンクされている plunk の実装 1)。

しかし、私はむしろこのようにリソースを呼び出したいと思います (以下にリンクされている plunk の実装 2)。

ここに私のスペックがあります

実装 2 がテストに失敗する理由 (正常に実行されているにもかかわらず) と、実装 2 で合格するようにテストを作成する方法を教えてください。

プランクはこちら

0 投票する
1 に答える
6354 参照

angularjs - AngularJS / Karma のモック サービスをスパイするにはどうすればよいですか?

から呼び出されたspyOn場合のテストを書きたいと思います。私の には、次のものがあります。isAuthenticatedUserServicebeforeEach

どんな助けでも大歓迎です..ありがとう

0 投票する
1 に答える
232 参照

javascript - jquery 呼び出し `$(some)` のスパイを作成するには?

ブラウザーの幅を取得する関数を提供する requirejs モジュールを定義します。

browserTool.js

今、ユニットテストを書きたいので、モックしたいjquery

私が使用したいことがわかります: spyOn(jquery, "apply")to mock, しかし、このテストは機能しません.私は間違った方法をスパイしたようです.

修正方法は?

0 投票する
2 に答える
1107 参照

java - 遅延評価にmockito spyを使用するには?

私はmockito spyを使いたいです。

次の両方の方法で戻り値を設定すると:

戻り値が熱心に評価されていることがわかります

この「設定」行が実行されたときを意味します。

スパイにオンデマンドでのみ戻り値を評価させるにはどうすればよいですか?

「いつ」条件が満たされたときを意味します。

アップデート

@RobbyCornelissen のおかげで、私はこのコードを試しました:

しかし、それは役に立ちませんでした:

1) "when" 式がすぐに呼び出された。(要らない)

2) 最終的にコールバックは呼び出されませんでした。

0 投票する
0 に答える
530 参照

javascript - Javascript のみでコンストラクター関数をモックする (spyOn を使用)

ここでこの質問のようなことをしています。これによりDate、テストでコンストラクターの独自の実装を提供できます

moment.js をアップグレードしたいという問題に遭遇しました。モックされた Date オブジェクトで呼び出しているコードで追加の Date 関数を使用しています。これらの関数は存在しません:

だから私がする必要があるのは、何らかの方法でコンストラクター関数のみをモックDateし、それ以外の関数を通過させることだと思います。

.andCallThroughスパイオブジェクトに必要な機能を割り当てるだけでなく、さまざまな形式を試しました(例: spy.UTC = OldDate.UTC)。何か案は?

0 投票する
2 に答える
394 参照

java - Mockito スパイは、スパイしていることをどのように認識していますか?

ドキュメントのこのコードは、私を完全に困惑させています:

わかりました。Mockito は奇妙で、まだ Java をほとんど使用していません。紛らわしいのは、それが aまたは何かspy.*でラップされているかどうかを知る前に、完全に評価する必要があることです。when()最初のspy.*メソッドは実際のオブジェクトを呼び出さず、後のメソッドは呼び出すのでしょうか?