본문 바로가기

전체 글

(87)
[JDBC] Statement, PrepareStatement 차이점 자바에서 데이터베이스로 쿼리문을 전송할 때 사용하는 인터페이스 2가지이다. 각각을 알아보고, 차이점을 알아보자 1. Statement 1. getConnection()을 통해 Connection 객체를 얻고, Connection 객체의 createStatement()를 통해 얻는다 // String url = "jdbc:mysql://mysql엔드포인트:3306/playdata?serverTimezone=UTC"; // Connection con = DriverManager.getConnection(url, "encore", "playdata"); // DBUtil.getConnection()은 위 두 문장을 간소화 시킨 것이다. con = DBUtil.getConnection(); stmt = con...
[Spring] [Test] 단위테스트 작성하기 (1) - Mock객체 통합테스트 vs 단위 테스트 통합테스트 빈들 간에는 다양한 관계를 갖는 경우가 많다. 따라서 하나의 빈을 사용한다는 것은, 관계된 빈들도 함께 동작한다는 것을 의미한다. 따라서, "하나의 빈을 테스트할 때, 관련된 빈들이 모두 잘 동작하는지 테스트하는 것"을 통합테스트라고 한다. 단위테스트 하나의 빈을 테스트 할 때, "관계된 빈들과는 상관없이 해당 빈이 가지고 있는 기능이 잘 동작하는지만 확인하는 것"을 단위테스트라고 한다. 단위테스트를 위해, 관계된 빈을 Mock 객체로 대신하게 된다. 단위테스트 해보기 의존성 주입 mockito-core와 mockito-junit-jupiter를 추가해주자 mockito-core : mockito가 제공해주는 기본적인 라이브러리 mockito-junit-jupite..
[Spring] [Test] 스프링 테스트 어노테이션들(@ExtendWith, @SpringBootTest 등) 스프링 부트를 사용하지 않는 경우 JUnit4 @RunWith 기존 테스트 클래스 위에 @RunWith(SpringJUnit4ClassRunner.class)를 붙입니다. @RunWith 어노테이션은 JUnit이 제공하는 어노테이션입니다. JUnit은 확장기능을 가지는데, 스프링에서는 JUnit을 확장하도록 SpringJUnit4ClassRunner.class를 제공합니다. 해당 코드는 JUnit이 테스트 코드를 실행할 때 스프링 빈 컨테이너가 내부적으로 생성되도록 합니다. @ContextConfiguration @ContextConfiguration(classes = {ApplicationConfig.class})은 내부적으로 생성된 스프링 빈 컨테이너가 사용할 설정파일을 지정할 때 사용합니다. JUn..