단위 테스트 JPAQueryFactory에 대해 mocking하기 ● 단위테스트할 함수 @Service @RequiredArgsConstructor @Transactional public class QueryFactoryTestService { private final JPAQueryFactory queryFactory; public boolean queryFactoryTest(int companyId) { return getFetchFirstCompany(companyId) != null; } private Company getFetchFirstCompany(int companyId) { return queryFactory .select(company) .from(company) .innerJoin(a..
● Mockito로 테스트코드를 작성하는 이유 @SpringBootTest 로 테스트코드를 작성하다보며 시간이 지날수록 프로젝트의 덩치가 커지면서 테스트코드를 실행하는데 굉장히 많은 시간이 걸리며 빌드시에도 많은 시간이 소요된다. 따라서 단위 테스트단위로 코드 작성시에는 mockito를 이용하여 테스트코드를 짜는것이 유용하다고 판단된다. @RunWith(MockitoJUnitRunner.class) @ExtendWith(MockitoExtension.class) 모두 Mockito의 Mock 객체를 사용하기 위한 Annotation이다 @RunWith는 junit4 @ExtendWith 는 junit5 사용시 정의하면 된다. ● Mockito를 이용한 예제 import java.util.Optional;..
● @SpringBootTest 및 test Slices(Auto-configuration Annotations) @SpringBootTest는 Spring Main Application(@SpringBootApplication)을 실행할때와 동일한 모든 Bean을 스캔하여 mock bean을 생성합니다. 통합테스트 슬라이스테스트(단위테스트) 어노테이션 @SpringBootTest @DataCassandraTest @DataJdbcTest @DataJpaTest @DataLdapTest @DataMongoTest @DataNeo4jTest @DataR2dbcTest @DataRedisTest @JdbcTest @JooqTest @JsonTest @RestClientTest @WebFluxTest @Web..