Closed eastglow closed 3 months ago
@eastglow 안녕하세요.
문의 주신 케이스를 해결하는 방법은 여러 가지가 있는데요, register
옵션을 사용하면 간단하게 해결할 수 있습니다.
아래와 같이 설정하면 testDate
필드는 항상 yyyyMMdd 포맷으로 생성됩니다.
혹시 이슈 있으시면 말씀해주세요.
감사합니다.
FixtureMonkey fixtureMonkey = FixtureMonkey.builder()
.register(
TestDto.class,
fixture -> fixture.giveMeBuilder(TestDto.class)
.set(javaGetter(TestDto::getTestDate),
Dates.dates().map(it -> it.format(DateTimeFormatter.ofPattern("yyyyMMdd"))))
)
.build();
String actual = fixtureMonkey.giveMeOne(TestDto.class).getTestDate();
Pattern simpleDatePattern = Pattern.compile("(\\d{4})(\\d{2})(\\d{2})");
then(actual).matches(simpleDatePattern);
@seongahjo
답변주신데로 적용해보니 기대한 결과대로 잘 작동합니다! 완전 빠른 답변 감사합니다. 👍
FixtureMonkey fixtureMonkey = FixtureMonkey.builder()
.register(
TestDto.class,
fixture -> fixture.giveMeBuilder(TestDto.class)
.set(javaGetter(TestDto::getIssueStrtDt), Dates.dates().map(it -> it.format(DateTimeFormatter.ofPattern("yyyyMMdd"))))
.set(javaGetter(TestDto::getIssueEndDt), Dates.dates().map(it -> it.format(DateTimeFormatter.ofPattern("yyyyMMdd"))))
)
.build();
안녕하세요. 최근 픽스쳐몽키를 접하게 되어 이리저리 써보고 있는 와중에 궁금한 점이 한가지 있어 질문드립니다.
특정 객체에 String으로 선언된 필드가 하나 있는데 이 필드엔 yyyyMMdd 형태의 일자값이 들어오게 되어 있는데요, 픽스쳐몽키의 기본 룰에 따르면 String 변수이기 때문에 랜덤한 문자열이 세팅되고 있습니다.
이 필드에 대해서 랜덤한 날짜의 yyyyMMdd 형태의 문자값을 테스트 객체에 세팅해주는 방법이 혹시 있을까요?
DateArbitrary 같은 클래스를 이용해보면 어떻게든 되지 않을까 하고 만져봤는데 원하는 코드가 나오지 않아서 질문드려봅니다.