問題タブ [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 投票する
1 に答える
1354 参照

debugging - スパイを予期していましたが、Sinon スタブで関数エラー メッセージが表示されましたか?

次のテスト スイートがあります。

最初の Expect ステートメントは成功するのに、2 番目のステートメントは失敗するのはなぜですか? 2 番目の例では、次のエラー メッセージが表示されます。

0 投票する
3 に答える
6123 参照

unit-testing - Jasmine で AngularJS の $timeout をどのようにスパイしますか?

$timeout が呼び出されていないことを確認できるように、$timeout をスパイしようとしています。具体的には、私の製品コード (以下を参照) は $timeout をオブジェクトではなく関数として呼び出します。

ではない

ただし、Jasmine では、次のようにスパイ対象のオブジェクトが必要です。

ただし、「someObject」が何であるかはわかりません。

違いがある場合は、Angular モックを使用しています。

編集: テストしようとしている関連する製品コードは次のようになります。

特定のテスト シナリオでは、$timeout が呼び出されなかったことを主張しようとしています。

編集 2: $timeout をオブジェクトではなく関数として使用していることを明確に指定しました。

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

javascript - ジャスミンを使用してノードchild_processをスパイ

私はnodejsとjasmineが初めてです。javascript/node と jasmine を学習するための小さなプロジェクトに取り組んでいます。ノード内のオブジェクト child_process をスパイしようとしていますが、メソッド 'spawn' が指定された引数で呼び出されることを確認しています。

jasmine エラーは、spawn メソッドを呼び出すオブジェクト (この場合は Nndb) が呼び出されたときに spawn が呼び出されないことを報告します。しかし、結果がコンソールに出力されるのを見ると、実際の作業は子プロセスによって実行されます。

jasmine-node スクリプトを実行したときに表示されるエラーは次のとおりです。

失敗:

1) xyz spawn の子プロセスのスクレイプ メッセージ: [ '../src/scrape_nndb.js', 0 ] で呼び出されると予想される spy spawn ですが、呼び出されませんでした。Stacktrace: エラー: スパイ スポーンが [ '../src/scrape_nndb.js', 0 ] で呼び出されると予想されていましたが、呼び出されませんでした。ヌルで。(/Users/arun.bakt/skunkWorks/scraping/spec/nndb_spec.js:30:41) Timer.listOnTimeout [ontimeout として] (timers.js:110:15)

6.024 秒で終了 1 テスト、1 アサーション、1 失敗、0 スキップ」

そのためのジャスミン テスト ファイル:

以下でテストされている nndb.js ファイル:

0 投票する
3 に答える
25379 参照

java - Mockitoスパイメソッドが機能しない

mockito.spy メソッドで困っています。

私は最近、「古い」プロジェクトに到着しました。私の最初のタスクは、それにmockitoを追加し、実際の単体テストを行うことです:)

プロジェクトには多くの概念上の問題がありますが、ここでのポイントではありません ;)

私は私の問題を説明します:

クラスがあります

私のテスト クラス TitiTest.java では、executeTiti のみをテストしたいのですが、このクラスには独自のテスト クラス TotoTest.java があるため、executeToto をテストしたくありません。

しかし、ご覧のとおり、 toto はtitiコンストラクターでインスタンス化されるため、次のようなことを試します:(テストでもPowerMockを使用しているため、PowerMockRunnerを使用していますが、問題ではないようです)

しかし、実際のメソッドは常に呼び出しており、毎回 ret = 5 :(

私は何かが恋しいですか?私はstackoverflowでこれに関する多くの投稿を読み、すべての解決策を試しましたが、私は正しいことをしていると思うのでうまくいきません.

私はjunit4.11/powermock1.5.4/mockito1.9.5を使用しています

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

typescript - jasmine spyOn が toHaveBeenCalled および toHaveBeenCalledWith について正しく報告しない

テスト中のコード:

仕様テスト オブジェクト:

callLogonApi 関数が呼び出され、期待どおりにコンソールに書き込まれますが、出力は次のようになります。

*これは、次のように変更された ApiService のコンストラクターで動作するようになりました。

*そして、spyOn が必要とします

ライアンのすばらしい答えに感謝します!!