반응형
단위태스트란?
main method의 용도?
- 프로그램을 시작, 구현한 프로그램을 테스트한다.
public class Anything {
int what(){
return "Main Method Test"
}
}
<Production Code>
public static void main(String[] args){
Anything any = new Anything();
any.what();
}
<Test Code>
- 위와 같이 Production Code는 프로그램 구현을 담당하는 부분이고, Test Code는 프로덕트가 정상적으로 동작하는 지 확이하는 코드이다.
Main Method 테스트의 문제점
- 클래스 하나에 Testcode와 Production Code가 같이있어, 크기가 커지고, 복잡도가 증가한다.
- Test Code가 실 서비스 와 같이 배포된다.
- Main Method 하나에 여러개의 기능을 테스트 해야한다. 복잡함 증가
- method가 main 이기 때문에 어떤 부분을 테스트하는지 의도를 나타내기 어렵다.
- 테스트 결과를 사람이 수동으로 확인해야한다.
JUnit?
위와 같은 문제점을 해결하기 위해 등장한 도구가 JUnit이다.
Junit 5.X의 버전은 Annotation을 활용해 테스트 코드를 구현한다.
Assertions 클래스의 static assert method를 활용해 테스트를 검증한다.
public class JunitTest{
Test test;
@BeforeEach
public void setUp(){
//보통 테스트를 하기 위한 세팅이 들어간다.
}
@Test -> 테스트를 하는 메서드로 만들겠다는 annotation
public void 테스트메서드명(){
assertEquals(); -> Assertions의 static 메서드를 통해서 검증을 실행
}
}
JUnit4는 동일하지만, 패키지 위치가 다르다
반응형
'부트캠프 > Next Step TDD' 카테고리의 다른 글
태태개발일지 - 객체 지향 생활 체조 원칙 (0) | 2024.09.15 |
---|