Скажем, у меня есть такой класс Java:
package com.example;
public class PersonUtil {
static class Person {
LocalDate dob;
String name;
Person(LocalDate dob, String name) { this.dob = dob; this.name = name;}
}
public static Person person() {
return new Person(LocalDate.now(), "bob");
}
}
и тогда у меня есть common.feature
файл, подобный этому:
@ignore
Feature:
Scenario:
* def personUtil = Java.type('com.example.PersonUtil')
, а затем test.feature
файл, подобный следующему:
Feature: Create Person
Background:
* def util = call read('common.feature')
* print util.personUtil.person();
Проблема в том, что поле dob в файлах объектов выглядит следующим образом:
{"dob": {"year":2019,
"month":"MAY",
"monthValue":5,
"dayOfMonth":1,
"leapYear":false,
"dayOfWeek":"WEDNESDAY",
"dayOfYear":121,
"era": "CE",
"chronology": {
"id":"ISO",
"calendarType":"iso8601"
}},
"name":"bob"}
но я бы хотел, чтобы он использовал DateFormatter, чтобы вывод был
{"dob": "2019-05-1", "name":"bob"}
Есть ли способ сделать это с каратэ без создания другого DTO и самостоятельного форматирования LocalDate?