테스트 주도 개발에서 사용하지만, 코드의 유지 보수 및 운영 환경에서의 에러를 미리 방지 하기 위해서 단위 별로 검증 하는 테스트 프레임워크
작성한 코드가 기대하는 대로 동작을 하는지 검증하는 절차
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));
}
}
계산기를 구현하고 테스트 해보았다.
자세한 것은 Spring CRUD TEST에서 다루도록 하자.