Интеграционные тесты Scala & ldquo; Нет такой настройки / задачи & rdquo;

Вы можете настроить десериализацию для любого атрибута.

Объявить класс десериализации, используя аннотацию JsonDeserialize (import com.fasterxml.jackson.databind.annotation.JsonDeserialize) для атрибута, который будет обработан. Если это Enum:

@JsonDeserialize(using = MyEnumDeserialize.class)
private MyEnum myEnum;

Таким образом, ваш класс будет использоваться для десериализации атрибута. Это полный пример:

public class MyEnumDeserialize extends JsonDeserializer<MyEnum> {

    @Override
    public MyEnum deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException {
        JsonNode node = jsonParser.getCodec().readTree(jsonParser);
        MyEnum type = null;
        try{
            if(node.get("attr") != null){
                type = MyEnum.get(Long.parseLong(node.get("attr").asText()));
                if (type != null) {
                    return type;
                }
            }
        }catch(Exception e){
            type = null;
        }
        return type;
    }
}
1
задан Jake 22 February 2019 в 05:14
поделиться

1 ответ

Вы не добавили конфигурацию для интеграционного теста.

Например, добавление it в тесте scala или настройках по умолчанию и т. Д.

"org.scalatest" %% "scalatest" % "3.0.5" % "it, test" 

Для всей интеграции настройки см.

. , это поможет.

0
ответ дан Mahesh Chand Kandpal 22 February 2019 в 05:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: