Ողջույն, ամեն անգամ, երբ ես ստանում եմ այս բացառության հետքը Robolectric-ի հետ հատուկ ստվերների վրա աշխատելիս
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at org.robolectric.bytecode.RobolectricInternals.newInstanceOf(RobolectricInternals.java:33)
at org.robolectric.Robolectric.newInstanceOf(Robolectric.java:345)
at org.robolectric.shadows.ShadowBitmapFactory.create(ShadowBitmapFactory.java:120)
at org.robolectric.shadows.ShadowBitmapFactory.decodeFile(ShadowBitmapFactory.java:72)
at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java)
այն, ինչ ես անում եմ, այն է, որ ես հատուկ ստվեր ունեմ
@Implements(Bitmap.class)
class MyShadowBitmap extends org.robolectric.shadows.ShadowBitmap {
public MyShadowBitmap() {
// can also be some other config value
setConfig(Bitmap.Config.ARGB_8888);
}
}
և ես օգտագործում եմ այս դասը
public class CustomTestRunner extends RobolectricTestRunner {
public CustomTestRunner(Class<?> testClass) throws InitializationError {
super(testClass);
}
@Override
public Setup createSetup() {
return new MySetup();
}
@Override
protected ShadowMap createShadowMap() {
return super.createShadowMap()
.newBuilder()
.addShadowClass(MyShadowBitmap.class)
.build();
}
}
}
և նաև ես վարում եմ իմ թեստային գործերը որպես
@Test
@Config(shadows = {
MyShadowBitmap.class
})
խնդրում եմ օգնեք ինձ, թե որտեղ եմ ես սխալ անում և ինչպես աշխատել ռոբոլեկտիկական հատուկ ստվերների հետ: