Unit testing 使用cobertura运行junit测试时,Jackson POJOPropertyBuilder发现冲突的setter定义
我编写了一个junit测试,它在独立运行时通过,但在使用cobertura测试覆盖率工具时抛出异常 被测试的类尝试创建io.swagger.jaxrs.config.BeanConfig的新实例:Unit testing 使用cobertura运行junit测试时,Jackson POJOPropertyBuilder发现冲突的setter定义,unit-testing,junit,jackson,swagger,cobertura,Unit Testing,Junit,Jackson,Swagger,Cobertura,我编写了一个junit测试,它在独立运行时通过,但在使用cobertura测试覆盖率工具时抛出异常 被测试的类尝试创建io.swagger.jaxrs.config.BeanConfig的新实例: BeanConfig beanConfig = new BeanConfig(); ... beanConfig.setScan(true); 但在使用cobertura运行时,仅抛出此异常 java.lang.IllegalArgumentException: Conflicting setter
BeanConfig beanConfig = new BeanConfig();
...
beanConfig.setScan(true);
但在使用cobertura运行时,仅抛出此异常
java.lang.IllegalArgumentException: Conflicting setter definitions for property "clazz": net.sourceforge.cobertura.coveragedata.LightClassmapListener#setClazz(1 params) vs net.sourceforge.cobertura.coveragedata.LightClassmapListener#setClazz(1 params)
at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.getSetter(POJOPropertyBuilder.java:303)
at io.swagger.jackson.ModelResolver.resolve(ModelResolver.java:264)
at io.swagger.jackson.ModelResolver.resolve(ModelResolver.java:151)
at io.swagger.converter.ModelConverterContextImpl.resolve(ModelConverterContextImpl.java:85)
at io.swagger.jackson.ModelResolver.resolveProperty(ModelResolver.java:131)
at io.swagger.jackson.ModelResolver.resolveProperty(ModelResolver.java:93)
at io.swagger.converter.ModelConverterContextImpl.resolveProperty(ModelConverterContextImpl.java:65)
at io.swagger.converter.ModelConverters.readAsProperty(ModelConverters.java:58)
at io.swagger.jaxrs.ParameterProcessor.applyAnnotations(ParameterProcessor.java:112)
at io.swagger.jaxrs.Reader.getParameters(Reader.java:897)
at io.swagger.jaxrs.Reader.parseMethod(Reader.java:848)
at io.swagger.jaxrs.Reader.read(Reader.java:286)
at io.swagger.jaxrs.Reader.read(Reader.java:169)
at io.swagger.jaxrs.Reader.read(Reader.java:146)
at io.swagger.jaxrs.config.BeanConfig.setScan(BeanConfig.java:170)
有没有办法让大摇大摆的扫描忽略这个cobertura类?
对反编译代码的检查表明,传递给beanConfig.setScan的布尔值被完全忽略,因此设置为false无效。我正在使用swagger-jersey2-jaxrs版本1.5.0升级到swagger-jersey2-jaxrs:1.5.12似乎可以解决此问题……感谢@Troup,为我解决了它!