2

モッキング フレームワークを使用して、Android で静的関数をモックする方法はありますか。Mockito はクラスをモックできますが、静的関数をモックするには不十分です。

どんな助けでも大歓迎です。

前もって感謝します

4

3 に答える 3

2

モックは、オブジェクト指向、継承などの概念を使用して機能します。

基本的に、実際のオブジェクトのように見えるオブジェクト/インスタンスの特定のメソッドと動作をオーバーライドすることにより、それらはこれらの実際のオブジェクトのサブクラスであるためです。

つまり、モックの部分は、インスタンスのメソッドをオーバーライドすることです。

静的メソッドをオーバーライドすることはできません (afaik)。

したがって、静的呼び出しのモックは (たとえ可能であったとしても) 簡単ではありません。


編集 - 私は間違っていました...

結局のところ、それが不可能であるという私の上記の声明は間違っていました。

このサイトで重複した質問を検索する必要がありました。場合によってはこれを行うと主張するフレームワークへのリンクについては、以下を参照してください。それらはバイトコードで動作するため、Android (ymmv) で正しく動作するかどうかはわかりません。


(私の信念を再評価するように強制してくれたRohitに感謝します)

于 2013-02-05T09:06:32.013 に答える