naver / fixture-monkey

Let Fixture Monkey generate test instances including edge cases automatically
https://naver.github.io/fixture-monkey
Apache License 2.0
560 stars 89 forks source link

무조건 getX, setX로 사용해야하나요? #972

Closed pushrsp closed 5 months ago

pushrsp commented 5 months ago

Describe your question

fixtureMonkey에서 getter와 setter가 필수인걸로 알고있는데 만약 getX, setX 형식이 아닌 다른 형식으로 만들 경우 따로 매핑을 하는 방법이 없나요?

seongahjo commented 5 months ago

@pushrsp 안녕하세요.

fixtureMonkey에서 getter와 setter가 필수인걸로 알고있는데

사용하려고 하시는 ArbitraryIntrospector마다 다릅니다. gettersetter가 필수인 ArbitraryIntrospector도 있고 아닌 ArbitraryIntrospector도 있습니다.

자세한 ArbitraryIntrospector에 대한 설명은 문서를 참조하시면 좋을 것 같습니다.

만약 getX, setX 형식이 아닌 다른 형식으로 만들 경우 따로 매핑을 하는 방법이 없나요?

현재 제공하는 ArbitraryIntrospector들은 다음과 같은 이유로 불가능합니다.

  1. BeanArbitraryIntrospector 에서는 JavaBeans의 naming convention을 지킨 getter/setter를 사용하여 객체를 생성합니다. 참조 문서
  2. FieldReflectionArbitraryIntrospector 에서는 자바에서 기본 제공하는 FieldAccessor을 사용하여 생성합니다.

만약 사용하시려는 프로젝트에서 필드와 getter/setter를 커스텀하게 매핑하는 규칙이 있으시다면 새로운 ArbitraryIntorspector를 만드셔서 매핑할 수 있습니다.

감사합니다.