我的项目中有一个property.yml文件,如下所示:
propertyA : "valueA"
propertyB: "valueB"
propertyC: "valueC"
我从上面的yml文件中使用以下java代码进行反序列化:
File configFile = new File(classLoader.getResource("property.yml".getFile());
ObjectMapper yamlMapper = new ObjectMapper(new YAMLFactory());
config = yamlMapper.readValue(configFile, MyPOJO.class);
现在,我需要编写单元测试。我的代码验证了如果yml文件中缺少任何propertyA,propertyB和propertyC,代码应抛出异常。
有没有办法可以让mapper在反序列化期间忽略某些字段(假设property.yml中没有这些字段)并执行我的测试?
property.yml实际上包含巨大的没有。属性(= n,比方说)。生成n个property.yml文件进行测试是不可行的,而在每个文件中,都会丢失一个属性。
您可以在类级别使用@JsonIgnoreProperties(ignoreUnknown = true)。