Home test코드를 작성해야하는 이유
Post
Cancel

test코드를 작성해야하는 이유

🤫 본 코드 짜기도 바쁜데 왜 테스트 코드를 작성해야 할까?

1. 한 메소드는 하나의 책임(기능)을 갖는다.

보통 여러개의 메소드가 유기적으로 연결되어있고 그 결과로 결과값이 도출되는데 이때 내가 예상된 결과값이 나오지 않는다면 어느 메소드에서 제대로 실행되지 않은건지 확인해야 한다.

이때, 모든 메소드에 디버깅을 찍어 하나하나 찾아보기 보다는 하나의 본 메소드마다의 테스트 코드를 작성해서 테스트 통과가 되는 지 확인하는게 더 좋다.(=효율적이다)

-> 하나의 본코드에 하나의 테스트 코드가 있는게 좋다.


2. 각 기능마다 테스트 코드를 작성하면 유지보수에 용이하다.

예시 - 신입의 경우) 추가요청이 들어옴 -> 본코드 수정함 -> 사이드 이펙트 터짐

단순히 추가요청에 대한 메소드를 수정하게 되면 부분 테스트에서는 통과할 수 있어도 통합테스트를 하게 되면 버그가 발생할 수 있다. 이 부분을 인지하지 못하고 단순히 본 메소드만 수정하게 된다면 큰일이 발생할 수도 있다.

즉, 연속된 코드의 경우 본 코드 테스트를 통과해도 버그가 생길 수 있기때문에 통합테스트도 통과를 해야한다.

프로그램이 커질수록 부분변경이 모든곳에 영향을 끼칠수있다.


3. 테스트 하는 시간단축된다.

만약 100개의 메소드가 연결되어있다. 내가 수정한 부분에서부터만 테스트하면 되기때문에 테스트 시간이 단축된다.

Junit의 코드는 순서를 보장하지않는다. 순서를 정하고 싶으면 @Order(순서) 를 넣어서 순서를 보장한다.

테스트 메소드가 하나 실행되면 실행 후 종료시 데이터가 초기화된다. @Trans 하지만 Auto_increment의 값인 Pk는 값이 초기화되지 않는다.

출처: 메타코딩, “Junit 강의”, https://youtu.be/-fg3ELjxahA

This post is licensed under CC BY 4.0 by the author.

test코드 유의사항

Java와 Jpa