[Test] 테스트를 하면서..

🌟 테스트 작성시 참고점

🎯 본 포스팅은 계속해서 업데이트 됩니다.

테스트를 하면서 느낀점이나 미래의 제가 참고할 점을 정리해 둘 예정입니다.

🎯 공통 설정은 클래스를 따로 관리.

테스트할때 어노테이션이나 기본 중복되는 셋업은 따로 클래스를 파서 관리하고 이를 상속받아 테스트코드를 작성하는 것이 좋습니다. 각 테스트마다 일관성이 생길뿐 아니라 코드의 중복또한 막는 효과가 있습니다.

🎯 기본 데이터 적재

필요한 데이터는 @Sql이나 @ApplicationRunner 을 이용하여 테스트 구동 전에 준비합니다. 데이터베이스에 미리 값을 넣어두면 데이터베이스 상태에 의존성이 생겨 오류가 생길 수 있습니다.

🎯 기대값을 JSON기반으로 관리 (이건 확실하진 않음)

데이터 구조가 길고 복잡할땐 JSON을 기반으로 테스트하는 것도 좋은 것 같습니다. 복잡하면 객체기반으로 생성하기가 번거롭기때문입니다.

  //given
    final String requestBody = readJson("classpath:member-singup.json");

    //when
	…

    //then
    resultActions
        …

https://cheese10yun.github.io/spring-guide-test-1/ 취소.. 현재 키덕 멤버와 키보드를 Json 텍스트로 관리하고 있는데 입력값이 조금이라도 바뀌면 모든 기대값을 다 바꿔줘야하는 단점이 있습니다. 유지보수측면에선 그리 좋은 방법은 아닌 듯 합니다. 원활한 유지보수를 위해서 테스트용 요청 객체를 따로 만들어 관리하고 있습니다.


Written by@이주형
平常心

GitHubFacebook