我在保存级别具有sourceSet no results found
,itest
和test
。
在main
sourceSet中的测试中,我想在test
中读取文本文件。有可能吗?
答案 0 :(得分:0)
是的,我找到了方法。
只需更改sourceSet public class SetDeserializer extends JsonDeserializer<Set> {
@Override
public Set deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException {
ObjectMapper mapper = (ObjectMapper) jp.getCodec();
JsonNode node = mapper.readTree(jp);
Set<Object> resultSet = new HashSet<>();
if (node != null) {
if (node instanceof ArrayNode) {
ArrayNode arrayNode = (ArrayNode) node;
Iterator<JsonNode> nodeIterator = arrayNode.iterator();
while (nodeIterator.hasNext()) {
JsonNode elementNode = nodeIterator.next();
resultSet.add(mapper.readValue(elementNode.toString(), Object.class));
}
} else {
resultSet.add(mapper.readValue(node.toString(), Object.class));
}
}
return resultSet;
}
}
的配置:修改mapper.addMixIn(Set.class, SetMixin.class);
以将另一条路径添加到值集。
在test
中:
resources.srcDirs
请注意,当您指定此文件夹作为所需文件的直接父目录时,使用build.gradle
读取文件时,只需使用sourceSets {
test {
output.resourcesDir = "build/resources/test" // copy test resources to build
resources.srcDirs = ['src/test/resources', 'src/itest/resources/fixtures/preAuthMock2']
// to include example json from itest resources
}
}
作为路径,而不是{{ 1}}。