naver / fixture-monkey

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

공식 문서 중 Introspector 페이지의 'getter / setter 추가 설명'이 잘못된 위치에 있는 것 같습니다. #1037

Closed Denia-park closed 2 months ago

Denia-park commented 2 months ago

Describe your question

안녕하세요.

최근에 테스트에 대한 관심이 많아서, FixtureMonkey를 적극적으로 사용해보려고 스터디를 진행하는 개발자입니다. 스터디를 진행하던 중 문서에서 잘못된 부분을 확인하여 제보드립니다.

961번 이슈를 보면 FieldReflectionArbitraryIntrospector를 사용할 때 final이 아닌 변수가 있으면 getter, setter 없이 사용이 가능하다는 내용이 있습니다.

그리고 @YunNote 님께서 964번 PR을 작성하여 올려주셨는데, 해당 내용의 위치가 FieldReflectionArbitraryIntrospector의 아래가 아니라 BuilderArbitraryIntrospector의 밑에 작성이 되어 있습니다. (영문 문서에서는 위치가 제대로 있지만, 한글 문서에서만 위치가 잘못되어 있습니다.)

docs/content/v1.0.x-kor/docs/generating-objects/introspector.md의 파일


요청 수정 내용


## FieldReflectionArbitraryIntrospector
`FieldReflectionArbitraryIntrospector`는 리플렉션을 사용하여 새 인스턴스를 생성하고 필드를 설정합니다.
따라서 생성할 클래스는 인자가 없는 생성자(또는 기본 생성자)와 getter 또는 setter 중 하나를 가져야 합니다.

```java
FixtureMonkey fixtureMonkey = FixtureMonkey.builder()
    .objectIntrospector(FieldReflectionArbitraryIntrospector.INSTANCE)
    .build();
```

// ============================= 해당 부분 수정 ============================= 
{{< alert icon="💡" text="만약 final이 아닌 변수가 선언되어 있다면 getter 또는 setter 없이도 사용 가능합니다." />}}
// ============================= 해당 부분 수정 ============================= 

## BuilderArbitraryIntrospector
클래스 빌더를 사용하여 클래스를 생성하려면 `BuilderArbitraryIntrospector`를 사용할 수 있습니다.
이런 경우 클래스에 빌더가 있어야 합니다.

```java
FixtureMonkey fixtureMonkey = FixtureMonkey.builder()
    .objectIntrospector(BuilderArbitraryIntrospector.INSTANCE)
    .build();
```
seongahjo commented 2 months ago

@Denia-park 안녕하세요.

문서에 이런 이슈가 있었군요. 확인해주셔서 감사합니다! 혹시 괜찮으시다면 PR을 올려주실 수 있을까요??

docs/content/v.1.0.x-kor/docs/generating-objects/introspector.md 에서 올려주신 내용을 수정하면 문서가 같이 반영됩니다. 혹시 어려우시면 편하게 말씀해주세요!

감사합니다.

Denia-park commented 2 months ago

문서 수정 후 PR을 올리도록 하겠습니다.

확인해주셔서 감사합니다!

seongahjo commented 2 months ago

수정하여 이슈가 해결되어 close합니다.