Fixture 사용에 있어서...
664
작성한 질문수 6
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!
먼저 유사한 질문이 있었는지 검색해 보세요.
서로 예의를 지키며 존중하는 문화를 만들어가요.
이렇게 사용해도, 하나의 도메인에 여러 Builder Fixture가 생기게 될까요?
public class Fixture {
public static ProductBuilder aProduct() {
return Product.builder()
.productNumber("001")
.name("아메리카노")
.price(1000)
.type(ProductType.HANDMADE)
.sellingStatus(ProductSellingStatus.SELLING);
}
}
final LocalDateTime registeredDate = LocalDateTime.now();
final Product product1 = createProduct(ProductType.HANDMADE, "001", 1000);
final Product product2 = createProduct(ProductType.HANDMADE, "002", 3000);
final Product product3 = createProduct(ProductType.HANDMADE, "003", 5000);
final Product product4 = Fixture.aProduct().productNumber("004").price(7000).build();
답변 2
1
안녕하세요, Joe Hidden님! :)
말씀주신 방법대로 사용해봐도 좋을 것 같네요 👍
객체마다 한 개의 빌더만 사용하면서 기본값 지정도 해줄 수 있을 듯 보이네요.
다만 테스트 케이스마다 주고자 하는 필드가 많이 상이할 경우에는 효과가 조금 떨어질 수도 있을 것 같아요.
(변경이 필요한 모든 필드를 다시 재정의해야 하는 것은 동일해서)
하지만 기존에 제가 언급했던 문제인, 수많은 빌더를 포함하고 있는 Fixture 클래스는 만들지 않아도 될 것으로 보이네요 ㅎㅎ
감사합니다. :)
0
안녕하세요, 인프런 AI 인턴이에요.
Fixture 클래스는 빌더 패턴을 사용하여 상품(Product) 객체를 생성하는 메서드를 제공하는 클래스인 것 같네요.
여러 Builder Fixture가 생성되는지에 대해서는, Fixture 클래스가 여러 개의 빌더 메서드를 제공하는지에 따라 달라질 것입니다. 만약 Fixture 클래스 안에 다른 빌더 메서드들도 있다면, 여러 개의 Builder Fixture가 생길 수 있습니다.
예를 들어, Fixture 클래스 안에 다른 Builder 메서드가 추가되었다면, 예를 들면 OrderBuilder, CategoryBuilder 등의 메서드가 있다면, 각각의 메서드마다 Builder Fixture가 생길 수 있습니다.
하지만 예시로 보여주신 코드에서는 Fixture 클래스 안에서만 aProduct() 메서드를 제공하고 있으므로, 하나의 도메인에는 하나의 Builder Fixture가 생길 것입니다.
따라서, Fixture 클래스 내부에 다른 Builder 메서드들을 추가하거나 여러 Fixture 클래스를 만들지 않는 한, 여러 개의 Builder Fixture가 생기지는 않을 것입니다.
더 궁금한 점이 있으신가요? 다른 질문이 있다면 언제든지 물어보세요!
private 상수 테스트 관련 질문
0
83
1
void는 어떻게 테스트하나요..? void로 애초에 코딩하면 안되나요??
0
126
2
커버리지는 어떻게 활용하시는지 궁금합니다.
0
161
2
테스트 문서화 질문입니다
0
105
2
단위테스트 질문이 있습니다
0
96
2
컨트롤러는 모킹을 한 이유가 궁금합니다.
0
103
2
ERD 가장자리에 있는 도메인 테스트 질문
0
89
2
DTO 검증 필드에 대한 테스트 코드 작성은 어디까지?
0
135
2
OrderCreateRequest DTO에 대해서 궁금한점
0
102
2
고전파의 테스트 대역 사용 대상, 공유 의존성
0
156
2
계층 관련 질문이 있습니다.
0
139
3
'코틀린'에서는 빌더를 따로 쓰지 않는데, 이 때는 어떻게 test fixture를 만드시는지 궁금합니다
1
124
2
혹시 update 로직은 어떻게 테스트하나요? (@Setter?)
0
135
2
단위테스트와 통합테스트의 경계가 궁금합니다.
0
229
2
Service+Repository 통합테스트 관련 질문입니다.
0
150
2
OrderControllerDocsTest 작성 해봤는데요. 날짜 형식이 이상하게 나와요
0
185
2
test 용 .yml
0
90
2
throws Exception
0
80
2
카페키오스크 클래스 문의 ,,
0
89
2
Rest docs 문서용 테스트코드를 따로 작성해야 되나요?
0
174
2
테스트 코드에서 필요한 생성자
0
138
1
tearDown 순서
0
116
2
@Builder 생성자 private
0
136
2
@DisplayName gradle / intellJ
0
93
2





