jmockdata icon indicating copy to clipboard operation
jmockdata copied to clipboard

我的 Pojo 中的一个字段使用了 com.alibaba.fastjson.JSONObject 在 mock 的时候会抛数组越界异常 ArrayIndexOutOfBoundsException

Open doushichao opened this issue 3 years ago • 2 comments

Exception in thread "main" com.github.jsonzou.jmockdata.MockException: java.lang.ArrayIndexOutOfBoundsException: 0
	at com.github.jsonzou.jmockdata.mocker.BeanMocker.mock(BeanMocker.java:47)
	at com.github.jsonzou.jmockdata.mocker.ClassMocker.mock(ClassMocker.java:38)
	at com.github.jsonzou.jmockdata.mocker.BaseMocker.mock(BaseMocker.java:35)
	at com.github.jsonzou.jmockdata.JMockData.mock(JMockData.java:33)

我使用了如下的拦截器都是不生效的

mockConfig.registerBeanMockerInterceptor(JSONObject.class, (aClass, field, o, dataConfig) -> InterceptType.UNMOCK);
public class JSONObjectMock implements Mocker<JSONObject> {
    @Override
    public JSONObject mock(DataConfig dataConfig) {
        return new JSONObject();
    }
}

mockConfig.registerMocker(new JSONObjectMock(), JSONObject.class);

doushichao avatar May 25 '21 09:05 doushichao

遇到了同样的问题

pprain avatar Apr 17 '23 08:04 pprain

可以改一下ClassMocker里面的先后顺序,从config中获取放前面

eye-gu avatar Apr 29 '24 11:04 eye-gu