static import?
새로운 할인 정책 개발
<aside>
💡 cmd + shift + T : 테스트 클래스를 자동으로 생성해준다.
opt + cmd + V : 객체명을 자동으로 생성해준다.
</aside>
Assertions의 임포트는 import *org.assertj.core.api.Assertions*; 이다. → ❌주의❌
성공 테스트도 중요하지만 실패 테스트도 꼭 만들어봐야한다.
10% 할인율이 제대로 적용되었는지 확인하는 테스트 코드
RateDiscountPolicyTest.java
public class RateDiscountPolicyTest {
RateDiscountPolicy discountPolicy = new RateDiscountPolicy();
@Test
@DisplayName("VIP는 10% 할인이 적용되어야 한다.")
void vip_o() { // vip는 잘 적용이 되어야한다.
// given
Member member = new Member(1L, "memberVIP", Grade.VIP);
// when
int discount = discountPolicy.discount(member, 10000);
// then
assertThat(discount).isEqualTo(1000);
}
@Test
@DisplayName("VIP가 아니면 할인이 적용되지 않아야 한다")
void vip_x() {
// given
Member member = new Member(2L, "memberBASIC", Grade.BASIC);
// when
int discount = discountPolicy.discount(member, 10000);
// then
assertThat(discount).isEqualTo(0);
}
}
<aside>
💡 assertThat 같은 경우, static import로 하면 좋다.
</aside>