본문 바로가기

batch-test3

spring boot @Sql, @SqlGroup 정리 source 는 Github 에 있습니다. @Sql annotation 이란? SQL 스크립트 혹은 쿼리를 실행시킵니다. 주로 테스트 클래스, 메소드에 사용됩니다. 쉽게 말해 테스트 환경에서 데이터를 CRUD 할 수 있는 방법입니다. @SqlGroup 이란? @Sql 을 여러개 그룹화 해서 사용할 수 있습니다. 자세한건 아래 예제 소스를 참고하시면 됩니다. source 아래 예제는 JPA DDL-AUTO: update 로 켜져있기에 따로 DDL 문은 작성하지 않았습니다. @Sql( scripts = {"/sql/MEMBER_INSERT_DML.sql"}, config = @SqlConfig( dataSource = "dataSource", // 데이터 소스를 설정합니다. transactionManager.. 2021. 12. 15.
@DataJpaTest 정리 source 는 Github 에 있습니다. @DataJpaTest 란? Jpa Test 에 포커싱이 맞춰진 테스트 annotation 입니다. 주로 Jpa test 를 할 때, 사용하며 Junit4 를 사용하면 @RunWith(SpringRunner.class) 와 같이 사용해야 합니다. 같이 사용해야하는 이유는 Spring 공식 문서에 같이 써야한다고 나와있습니다. DataJpaTest 는 인메모리 데이터베이스 (기본 H2) 로 설정하며, @Entity 가 붙은 클래스, Spring Data Jpa Repository 를 스캔합니다. Transactional 하며, 테스트가 종료 시 Rollback 기능도 있습니다. @RunWith(SpringRunner.class) 테스트 클래스에 RunWith 를 .. 2021. 12. 15.
spring-batch 통합 테스트 정리 source 는 Github 에 있습니다. spring-batch 통합 테스트 spring-batch 통합테스트 하는 방법 입니다. spring-batch 4.1 이상 기준으로 동작합니다. source tasklet 을 호출하는 간단한 예제입니다. @Slf4j @Configuration public class SimpleTaskletJob { @Autowired public JobBuilderFactory jobBuilderFactory; @Autowired public StepBuilderFactory stepBuilderFactory; private SimpleTaskletBean simpleTaskletBean; public SimpleTaskletJob(SimpleTaskletBean simple.. 2021. 6. 12.