0

Android プロジェクトには、プレーンな Java コードを使用するソースコードがいくつかあります。このクラスをテストするために、UnitTests (JUnit) を作成しました。

問題は、関数がまだいくつかの Android クラスを内部で使用していることです。現時点では、Log と Base64 です。

今、このクラスをモックする簡単な方法を探していますが、できませんでした。

私はググって、jmocking、mockito、robolectric などの多くのモッキング ツールを見つけましたが、このライブラリと非常に混同しており、そのうちの 1 つを機能させることができませんでした。

このスタブ/ classnotfoundエラーが発生しないように、一部のAndroidクラスを単純にモックする方法を示すステップバイステップのチュートリアルが1つ見つかりませんでした。

質問は次のとおりです。

  • 最も一般的に使用されている Android モッキング ライブラリは何ですか?

  • UnitTest で直接使用しないが、呼び出す関数によって使用されるクラスをモックするにはどうすればよいですか?

ありがとう、サブビー

4

2 に答える 2

0

Android クラスをモックするには、robolectric が必要です: http://pivotal.github.com/robolectric/index.html

于 2013-02-16T20:34:31.603 に答える
0

モック ライブラリが Android を完全にサポートするかどうかはわかりません。Android とモックがうまくいかない技術的な理由がいくつかあります。

Android API を使用する Java オブジェクトを単体テストする場合は、通常、android.test.* のテスト ケース クラスの 1 つを使用する必要があります。多くの場合、Android クラスは正しく機能するために Android コンテキストを必要とします。

単体テストの場合、通常は依存関係を挿入しますが、制限があります。結局のところ、乗算演算の単体テストは行いません! Android クラスを単体テストできます。それらが機能していることに満足したら、正しく機能していると見なすことができます。

于 2012-11-21T22:32:59.007 に答える