본문으로 건너뛰기
버전: v0.6.x

Altering the way of instantiating

1. Altering instantiating

BeanArbitraryIntrospector

Preconditions

  1. No args constructor
  2. Setter

FieldReflectionArbitraryIntrospector

Preconditions

  1. No args constructor

BuilderArbitraryIntrospector

Preconditions

  1. Builder

ConstructorPropertiesIntrospector

Preconditions

Should satisfy one of below preconditions

  • record type
  • lombok @Value, enabled lombok.anyConstructor.addConstructorProperties=true option
  • any constructors with @ConstructorProperties
Tip

Multiple constructors with record would be instantiated by constructor with @ConstructorProperties

FactoryMethodArbitraryIntrospector

Preconditions

  • static factory method

PrimaryConstructorArbitraryIntrospector

Preconditions

  1. Kotlin class
  2. Primary constructor.

JacksonArbitraryIntrospector

Tip

This practice should add extra module because it depends on third-party library Jackson

Preconditions

  1. Adding fixture-monkey-jackson dependency
  2. serializable / deserializable by Jackson

2. Altering objectIntrospector option

FixtureMonkey fixtureMonkey = FixtureMonkey.builder()
.objectIntrospector(selectedIntrospector)
.build();