1

アンドロイド計測器テストで静的メソッドをモックする必要があります。 静的メソッドをモックする必要がある場合、テストクラスは@RunWith(PowerMockRunner.class)である必要があります。しかし、私の計測テストはAndroidJUnit4.classで実行する必要があります。Android Instrumentation Test with PoweMockito

2つの実行可能ファイルを持つことはできますか?または静的メソッドを模擬するためにパワーモックを使用できる他の方法はありますか?静的クラスを模擬する他のオプションはありますか?

答えて

2

バージョン1.4以降のこのようなケースを処理するには、ランナーの代わりにJUnitルールを使用してPowerMockをブートストラップすることができます。このように見て何か:

@RunWith(AndroidJUnit4.class) 
@PrepareForTest(X.class); 
public class MyTest { 
    @Rule 
    PowerMockRule rule = new PowerMockRule(); 

    // Tests goes here 
    ... 
} 

しかしPowerMockは、誰かがdalvikVMデキサメタゾンに変換する必要があるバイトコード操作を使用していることに注意してください。現在、それをサポートするツールはありません(https://groups.google.com/forum/#!topic/powermock/9kwPaWoZ_14https://stackoverflow.com/a/27956309/624706

関連する問題