main method를 테스트 용도로 코드를 작성한다면 프로덕션 코드(Production Code)과 테스트 코드(Test Code)로 나뉜다.

프로덕션 코드(Production Code)  : 프로그램 구현을 담당하는 부분으로 사용자가 실제로 사용하는 소스코드를 의미(클래스 구현)

테스트 코드(Test Code) : 프로덕션 코드가 정상적으로 동작하는지를 확인하는 코드 (메인 메소드)

 

main method 테스트의 문제점

- Production Code 와 Test Code 가 클래스 하나에 존재하므로 코드의 길이가 길어지고, 복잡도가 증가한다.

- Test Code가 실 서비스에 같이 배포된다.

- main method 하나에서 여러 개의 기능을 테스트하여 복잡도가 증가한다.

- 테스트 결과를 사람이 수동으로 확인해야 한다.

 

JUnit : 자바 언어를 사용하는 소프트웨어 개발에서 유닛 테스트를 작성하고 실행하는 데 사용되는 프레임워크로 main method를 활용해 테스트할 때 발생하는 문제점을 해결하여 코드의 품질을 향상시키기 위해 사용한다.

 

JUnit 에서 사용되는 대표적인 어노테이션

@Test : 테스트 메서드를 지정하여 테스트 케이스의 일부로 표시한다. @Test 어노테이션을 포함하는 메서드를 실행하고 해당 메서드에서 예외가 발생하면 테스트 실패로 표시한다.

@Before : 테스트 메서드 실행 전에 실행되어 설정작업을 수행하는 메서드를 지정한다. ex) 데이터 초기화나 리소스 설정등을 처리할 떄 사용한다.

@After : 테스트 메서드 실행 후에 실행되어 정리 작업을 수행하는 메서드를 지정한다. ex) 리소스 해제나 데이터 정리등을 처리할 때 사용한다.

 

static 으로 만들어져야 하며 리턴 타입은 void 이어야 한다.------------------------------------------------------------------------------------

@BeforeClass : 테스트 클래스에 있는 테스트를 실행하기 전 실행된다. ex) 클래스 수준의 설정 작업을 수행할 때 사용된다.

@AfterClass : 테스트 클래스에 있는 테스트를 모두 실행한 후에 한번만 실행된다. ex) 클래스 수준의 정리 작업을 수행할 때 사용한다.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

'공부' 카테고리의 다른 글

CORS 에러  (0) 2023.12.13
WB와 WAS의 차이  (0) 2023.12.13
HTTP 메소드  (0) 2023.12.13
Git grape - rebase  (0) 2023.06.08
Git Flow  (0) 2023.06.08

+ Recent posts