問題タブ [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.
javascript - sinon.js を使用して事前定義されたオブジェクトをスパイする方法
sinon.js で window.document をスパイしようとしています。私がすることはこれです:
この呼び出しに期待することは次のとおりです。document.getElementById が引数「foo」で呼び出された場合、関数は「bar」を返す必要があります。私のエラーは何ですか?
このように getElementById を自分で定義すると、期待される結果が得られます。
javascript - 動的関数バインディングでテスト スパイを使用するための適切なアプローチ
$.proxy(this, 'methodName')
オブジェクトのメソッドを DOM イベントのイベント ハンドラーとして使用しています。
spyOn
テストに関しては、コールバックが発生するかどうかを監視するためにJasmine を使用したいと思います。ただし、リスナーがオブジェクトのコンストラクター内にアタッチされているため、メソッドをスパイするまでには手遅れであり、未加工のスパイされていない関数は既に によって使用されてい$.proxy
ます。
これに取り組むための良いアプローチは何ですか? 私が検討したことの 1 つは、プロトタイプのメソッドを直接スパイすることですが、これが他のテストとは独立している各テストに与える影響について心配しています。もう 1 つの方法は、コードでリスナーをアタッチする方法を変更することですが、これは赤ちゃんを風呂の水で捨てるようなものです。
mockito - スーパークラスのプライベートメンバーのモック/スパイ
BaseClass
テストメソッドにjunitテストを書いています。このメソッドは、スーパー クラス メンバーを使用します。コンストラクターはをBaseClass
呼び出しますsuper(arg1, arg2)
。super(arg1, arg2) コンストラクターには、スーパー クラスのプライベート メンバーを設定する依存性インジェクターがあります。テストを実行しているとき、依存関係が設定されていないため、super() が例外をスローしています。依存性注入でプライベートメンバーを設定しているsuper()のステートメントのみをモックしたい。モキットをどうするか?
angularjs - オブジェクトの構築中に呼び出されるコントローラー メソッドをスタブ化する方法
refresh()
構築中に独自のメソッドを呼び出す AngularJs コントローラーがあります。問題のメソッドは、単体テスト中に存在しないいくつかのテンプレート要素にアクセスします。
refresh メソッドを使用すると、コントローラーの構築中に単体テストが失敗します。それが行う作業はテストとは無関係であるため、メソッドをスタブでオーバーライドして、メソッドが呼び出されたことを単純にテストしたいと思います。
Jasmine の Spy 機能は進むべき道のように見えますが、オブジェクトを構築する前にそれを設定する方法が見つかりません。どうすればいいですか?
android - Robolectric buildActivity() と Mockito スパイ?
Robolectric のライフサイクル ユーティリティ ( Robolectric.buildActivity()
.
buildActivity()
は Activity オブジェクトの構築を制御するため、Activity のスパイを追加する唯一の場所は、 を呼び出した後buildActivity()
です。ただし、スパイは事後に追加すると正しく機能しません。
これは、やActivityController
などのライフサイクル メソッドの副作用をスパイする場合に特に当てはまります。これは、ActivityController が後で追加されたスパイではなく、「実際の」Activity オブジェクトへの参照を保持しているためだと思います。create()
start()
resume()
Robolectric を介してライフサイクル メソッドを呼び出すときにスパイが適切に動作するように、Robolectric で単体テストされているアクティビティをスパイする方法はありますActivityController
か?
window - Windows 8でahkウィンドウスパイをフリーズする方法
私のWindow Spyは「Shift-Alt-Tabで表示をフリーズします」と言いますが、ShfitAltTabはすべてのウィンドウを最小化します。Windows 8 で autohotkey の Window Spy をフリーズするにはどうすればよいですか?