반응형
책의 샘플 예제코드를 따라치던 중
AopAutoConfiguration matched: - @ConditionalOnProperty (spring.aop.auto=true) matched (OnPropertyCondition)
와 함께 엄청 긴 오류가 떴다. 대략 빈등록이 되지 않았다는 오류였는데, 구글링을 해보니 junit의 버전이 다를시, 사용되는 어노테이션이 달라서 오류가 생길 수 있다고 한다.
외부 라이브러리를 확인해보니 나는
junit5를 쓰고 있었고 내가 테스트로 올린 어노테이션은 junit4에서 쓰는 것이었다.
import domain.posts.Posts;
import domain.posts.PostsRepository;
import org.junit.After;
import org.junit.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
@RunWith(SpringRunner.class)
@SpringBootTest
public class PostsRepositoryTest {
@Autowired
PostsRepository postsRepository;
@After
public void cleanup() {
postsRepository.deleteAll();
}
@Test
public void 게시글저장_불러오기() {
//given
String title = "테스트 게시글";
String content = "테스트 본문";
postsRepository.save(Posts.builder()
.title(title)
.content(content)
.author("gp3947@naver.com")
.build());
//when
List<Posts> postsList = postsRepository.findAll();
//then
Posts posts = postsList.get(0);
assertThat(posts.getTitle()).isEqualTo(title);
assertThat(posts.getContent()).isEqualTo(content);
}
}
여기에서 @RunWith과 SpringRunner을 @ExtendWith과 SpringExtension으로 바꿔줬다.
그러고 나니 오류가 없어졌다!
반응형
LIST
'SPRING' 카테고리의 다른 글
test subject로 필요한 junit 버전 설정하여 테스트하는 방법 (0) | 2022.08.22 |
---|---|
인텔리제이 compile과 implementation의 차이점 (0) | 2022.08.21 |