ロボエレクトリック というシャドウクラスがあります。 ShadowMatrix
しかし、私はそれを使いたくない。robolectricからそれを取り除く方法?私はオリジナルを使いたいと思う Matrix
代わりにクラス。
回答:
回答№1は2android.jarにはクラスとメソッドのスタブ(ボディのないメソッド)しかありません。そのため、Robolectricを使用してAndroidシステムの外部でテストを実行しているのはそのためです。
あなたができることはからフォークを作ることです githubリポジトリShadowMatrixの実装を変更し、それをビルドしてプロジェクトで使用します。
回答№2の場合は0
これは、特定の問題に関する助けにはならないかもしれません。 Matrix
しかし、私は他のクラスも同様に必要としていました、 ShadowCountDownTimer
一回のテストで。の振る舞いを変更/追加しない代替シャドウを提供することで、シャドウを回避することができました。 CountDownTimer
:
// Shadow with no additional behavior
@Implements(CountDownTimer.class)
public static class DefaultCountDownTimer {
}
// Use this shadow just for this test
@Config(shadows = DefaultCountDownTimer.class)
@Test
public void testSomething() {
}