在反序列化期间,YAML Mapper如何忽略yml文件中的某些字段?

问题描述 投票:0回答:1

我的项目中有一个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文件进行测试是不可行的,而在每个文件中,都会丢失一个属性。

java unit-testing serialization yaml objectmapper
1个回答
0
投票

您可以在类级别使用@JsonIgnoreProperties(ignoreUnknown = true)。

© www.soinside.com 2019 - 2024. All rights reserved.