-
TIL 181일 - 멀티모듈에서 repository 테스트공부/Java와 Spring 2022. 6. 28. 21:09
DataJpaTest 어노테이션
이 어노테이션은 현재 패키지에서 @SpringBootConfiguration 주석을 찾고, 찾을 수 없는 경우 패키지 계층을 이동한다.
/*
현재 내 패키지는 멀티 모듈 패키지로, 도메인 모듈에는 SpringBoot 앱이 없기 때문에 발생하는문제로 보인다.
*/
....???? 왜 되는지는 모르고... 그냥 우연히 되는 걸 발견해 버림...
일단 테스트 코드는 아래처럼 됨
@DataJpaTest @AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE) @Import(MainDatasourceConfig.class) public class repoTest { @Autowired private ConditionRepository conditionRepository; @Test void asd() { Condition asd = conditionRepository.save(Condition.of("asd", 1L, 1L)); assertThat(asd.getDsl()).isEqualTo("asd"); } }
MainDatasourceConfig 클래스는 아래 링크에서 보고 따라한 클래스로 만들었다. (처음에 만들어야 겠다고 생각한 이유는 domain에는 데이터소스가 존재하지 않기 때문에 repo 테스트가 불가능할 것이라고 생각했음)
https://2dongdong.tistory.com/33
그리고 domain모듈의 repository 테스트를 할 때 SpringBootApplication 어노테이션이 달려있는 클래스가 없기 때문에 테스트 코드쪽에 아래같은 클래스를 추가해 줬다.
@SpringBootApplication public class RepoTestApp { public void contextLoads() {} }
어... 뭐지..?
'공부 > Java와 Spring' 카테고리의 다른 글
TIL 183일 - application.yml에서 에러나서 application.properties로 했었는데... (0) 2022.07.01 TIL 182일 - spring repository test (0) 2022.07.01 TIL 180일 - 멀티 모듈에서 멀티 데이터 소스 (0) 2022.06.27 TIL 178일 - datasource url? jdbcurl? (0) 2022.06.25 TIL 174일 - Spring 여러 데이터 소스 (0) 2022.06.21