Robolectric のドキュメントに従ってシャドウ クラスを作成しましたが、テスト中にシャドウ メソッドを実行できず、常に元のメソッドが使用されます。
これは私のコードです:
元のクラス:
public class Original {
public void print(){
System.out.println("Hi from original class!");
}
}
シャドウ クラス:
@Implements(Original.class)
public class ShadowOriginal {
@Implementation
public void print(){
System.out.println("Hi from shadow class!");
}
}
テスト:
@RunWith(RobolectricGradleTestRunner.class)
@Config(manifest = "src/main/AndroidManifest.xml",
emulateSdk = 21,
reportSdk = 21,
constants = BuildConfig.class,
shadows = {ShadowOriginal.class})
public class OasisTests {
@Test
public void test() {
Original t = new Original();
t.print();
}
}
テストを実行すると、常に表示されます"Hi from original class!"
私のコードで何が間違っていますか? 私は使用します
- Android スタジオ 1.2
- ロボレクトリック 3.0-rc2
- robolectric-gradle-plugin 1.0.1
この問題を解決するにはどうすればよいですか?
前もって感謝します