JUnit
TDD(Test-driven Development)
테스트 주도 개발에서 사용하지만, 코드의 유지 보수 및 운영 환경에서의 에러를 미리 방지 하기 위해서 단위 별로 검증 하는 테스트 프레임워크
단위테스트
작성한 코드가 기대하는 대로 동작을 하는지 검증하는 절차
JUnit
Java기반의 단위 테스트를 위한 프레임워크
Annotation 기반으로 테스트를 지원하며,Assert를 통하여,(예상,실제)를 통해 검증
계산기로 실습해보자.
@ExtendWith(MockitoExtension.class)
public class DollarCalculatorTest {
@Mock
public MarketApi marketApi;
@BeforeEach
public void init(){
Mockito.lenient().when(marketApi.connect()).thenReturn(3000);
}
@Test
public void testHello() {
System.out.println("hello");
}
@Test
public void dollarTest() {
MarketApi marketApi = new MarketApi();
DollarCalculator dollarCalculator = new DollarCalculator(marketApi);
dollarCalculator.init();
Calculator calculator = new Calculator(dollarCalculator);
System.out.println(calculator.sum(10, 10));
Assertions.assertEquals(22000,calculator.sum(10,10));
Assertions.assertEquals(0,calculator.minus(10,10));
}
@Test
public void mockTest() {
DollarCalculator dollarCalculator = new DollarCalculator(marketApi);
dollarCalculator.init();
Calculator calculator = new Calculator(dollarCalculator);
System.out.println(calculator.sum(10, 10));
Assertions.assertEquals(60000,calculator.sum(10,10));
Assertions.assertEquals(00,calculator.minus(10,10));
}
}
계산기를 구현하고 테스트 해보았다.
여기서 중요한건!!
TEST어노테이션을 붙이고 예상값과 실제 나온값을 비교할수 있다는것!!
그리고 MockData를 만들어 만약 환율값이 변경됬을때 예상값과 실제값을 비교한다는 것 이다.
자세한 것은 Spring CRUD TEST에서 다루도록 하자.
'Dev > Spring Boot' 카테고리의 다른 글
Swagger 란? 무엇인고? (0) | 2022.03.02 |
---|---|
JUnit으로 테스트 하기2 (0) | 2022.03.02 |
스프링의 다양한 기능2(Filter, Interceptor) (0) | 2022.03.02 |
스프링의 다양한 기능(Filter, Interceptor) (0) | 2022.03.02 |
스프링의 다양한 기능(Vaildation, Exception처리) (0) | 2022.03.02 |