지금 Junit으로 동시성 제어 테스트하고 있는데 서비스 로직에 있는걸 테스트로 끌고 와서 실행하면 정상 작동되는데 테스트 클래스에 있는 메소드로 실행하면 트랜잭션이 없다고 오류가 뜸...
혹시 테스트 클래스 안에서는 트랜잭션을 적용하는 방법이 달라..? 구글링을 해도 안 나와서 도와조...ㅠ
이건 오류 내용이야!
지금 Junit으로 동시성 제어 테스트하고 있는데 서비스 로직에 있는걸 테스트로 끌고 와서 실행하면 정상 작동되는데 테스트 클래스에 있는 메소드로 실행하면 트랜잭션이 없다고 오류가 뜸...
혹시 테스트 클래스 안에서는 트랜잭션을 적용하는 방법이 달라..? 구글링을 해도 안 나와서 도와조...ㅠ
이건 오류 내용이야!
아 해결해써!! 테스트 코드 내부에 있는 로직은 스프링 빈에서 관리를 안 해주기 때문에 @Transactional 을 붙여도 트랜잭션이 실행될 수가 없는데 PlatformTransactionManager를 주입받아서 수동으로 트랜잭션을 설정해줬더니 해결함!
테스트 코드 내부에 있는 로직 -> 테스트 클래스