robolectric 2中的自定义阴影?

时间:2013-07-27 15:48:34

标签: android unit-testing robolectric

根据Roboelectric 1.X的官方指南(http://pivotal.github.io/robolectric/customizing.html),使用自己的影子类的方法是创建自己的测试运行器并覆盖适当的方法或使用#Roboelectric.bindShadowClass(见下文)。

然而,2.X的情况发生了变化,我似乎无法找到新方法。 任何人都知道如何使用自定义阴影类而不更改

public class CustomTestRunner extends RobolectricTestRunner {
public CustomTestRunner(Class testClass) throws InitializationError {
    super(testClass);
}

@Override public void beforeTest(Method method) {
    Robolectric.bindShadowClass(ShadowBitmapFactory.class);
    Robolectric.bindShadowClass(ShadowDrawable.class);
    Robolectric.bindShadowClass(ShadowGeocoder.class);
}
}

1 个答案:

答案 0 :(得分:3)

您可以使用新的Robolectric 2.0 Config注释类型来绑定自定义Shadow类。

例如,您可以注释这样的测试方法:

  

@Config(shadows = {MyShadow.class,MyOtherShadow.class})    public void testSomething {   ...   }

最诚挚的问候, SEB