<aside> 💡

Register 연산 선택

  1. name을 키로 등록하는 register할 수 있게 구현 (해결)
  1. name을 키로 등록하는 연산이 여러 개인 group register할 수 있게 구현
  2. (name, 타입)을 키로 register할 수 있게 구현
  3. name을 키로 등록하는 register할 수 있게 구현 (Value에 RegisterGroup 등록)
  4. 조건에 따라 reigster할 수 있게 구현 (구상 중)

Fixture Monkey Helper

1. name을 키로 등록하는 register할 수 있게 구현 (해결)

<aside> 💡

타입에서도 여러 유형의 데이터 패턴이 있을 수 있는데, 현재는 하나의 패턴만 지원 가능하여 이를 개선이 필요합니다.

예를 들어, 상품이 있다고 했을 때, 일반 상품과 예약 상품은 가질 수 있는 필드가 다를 수 있습니다.

일반 상품에서 set으로 설정하는 필드와 예약 상품에서 set하는 필드가 다를 수 있는데, 현재 register 구조에서는 지원할 수 없습니다.

</aside>

  1. register한 연산 집합 관리
  2. register한 연산 집합 중 적용하고 싶은 연산 집합을 ArbitraryBuillder API에서 선택하는 방법

Base Case Issue

https://github.com/naver/fixture-monkey/pull/1036

1-1. MatcherOperator을 확장하여 하나의 변수로 연산 관리

<aside> 💡

제가 생각하는 방향은 registeredArbitraryBuilders와 namedArbitraryBuilder를 두 개로 관리하지 않고 하나의 변수로 관리하는 방향입니다.

구체적으로 말씀드리면, MatcherOperator 를 확장해서 위의 두 관심사 (property로 식별, name+property로 식별)을 모두 처리하는 방향입니다. 용준님도 이 방향이 괜찮을지 의견 주시면 좋을 것 같습니다.

</aside>

Issue 생성

PR

1-2. Register 연산을 랜덤하게 적용하도록 한다.

register 랜덤 적용

2. name을 키로 등록하는 연산이 여러 개인 group register할 수 있게 구현

<aside> 💡

name을 키로 등록하는 register할 수 있게 구현 → 하나의 시나리오를 여러 번 테스트 하려면 매번 객체를 생성할 때마다 register 연산을 정의해야 한다.

→ 클래스로 정의를 해서 간편하게 사용을 할 수 있도록 구현

</aside>

nameregister 연산을 키-값 형식으로 저장하는 클래스를 생성.

registeredNameGroup API에 전달인자로 Group을 전달하면 Group 내에 있는 register 연산을 선택해서 사용할 수 있도록 구현 해야 한다.