問題タブ [extension-function]
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.
unit-testing - Companion オブジェクト内のモック拡張関数
組織の問題のために、別のクラス (クラス B) のコンパニオン オブジェクト内に拡張関数 (A.extension()) を定義するクラス (クラス A) があります。
私のテストでは、次のものが必要です。
- 実際のクラス A インスタンスを使用するには。
- A.extension() をモックします。
- クラス B のモック インスタンスを使用するには。
MockK-library を使用すると、その拡張機能を正常にモックできません。私はもう試した:
結果: 拡張関数のモックされていないバージョンを実行しようとします。
結果: コンパニオン オブジェクトが見つかりません。
結果: コンパイル エラー -> 'extension' はメンバーであると同時に拡張機能です。そのような要素への参照は許可されていません。
これをモックする方法に関して何か不足していますか? このモックが可能になるのを妨げるコード構造に関して、私は何か間違ったことをしていますか?
どんな助けでも大歓迎です。
android - Kotlinで複数のレシーバーを持つ拡張機能を作成するには?
拡張機能にいくつかのレシーバーが必要です。たとえば、関数でとインスタンスhandle
の両方のメソッドを呼び出せるようにします。CoroutineScope
Iterable
私はこれがうまくいくかもしれないと思った:
しかし、それは私にエラーを与えます:
パラメータで関数を作成できることは知っていますが、
単一の機能に対して複数のレシーバーを使用することは可能ですか?パラメーターなしでそれを行う方法は?