앞서 우리는 지라를 통한 이슈트래킹에 대하여 살펴보았다.
그 다음에 프로젝트에서 가장 중요한 테스트 코드를 한번 해보려고 한다.
테스트 코드를 작성하는 이유
테스트 코드를 작성하는 이유는 무엇일까. 사실 테스트 코드를 작성해본 적이 없는 사람은 테스트코드를 작성하는것만도 오랜 시간이 걸린다. 개발하기도 바쁜데 테스트코드를 작성하는 것까지 시간을 뺏기고,막상 개발에 투자할 시간이 줄어드는 배보다 배꼽이 더 큰 것 같은 이유로 테스트 코드를 작성하지 않고는 한다. 테스트 코드를 작성해야 하는 이유를 알아보자.
안정적 확장을 가능하게 함
기능을 추가하면 추가된 기능이 다른 코드에 어떤 영향을 미치는 끼치는 지 파악해야 한다. 테스트 코드를 통해 특정부분이 변함없이 작동한다는 확신을 얻으며 개발하는 것과 그렇지 않은 것은 안정성,트러블슈팅의 유용함에서 큰 차이를 보인다.
때문에 프로젝트가 커질수록, 쌓아온 테스트코드가 있는 쪽이 큰 효율과 안정성을 가진다.
시간의 단축(빠른 피드백)
큰 프로젝트일수록 테스트를 위해 실제 서버를 동작시키고,db에 접근하고,웹에서 실제 출력을 확인하는 것은 큰 비용과 시간을 필요로 한다.
테스트 코드를 이용하면 이보다 더 빠르고 간편하게,더 로우레벨의 값까지 확인할 수 있다.
수동테스트보다 확실함(자동검증)
실제로 프로그램을 돌려보며 결과를 확인하는 과정에서 사람인만큼 실수가 발생할 여지가 있다. 테스트 코드를 이용한다면 이를 보완할 수 있다.
테스트 코드가 문서의 역할을 할 수 있다.
테스트 코드는 그 자체로 협업 개발자에게 코드를 설명하는 역할을 할 수 있다. 어떤 입력값을 고려했는지에 대한 의도를 알릴 수 있다.
이렇게 테스트 코드는 중요한 요인을 같게 된다.
즉 메소드 하나당 테스트가 여러개 붙기 때문 나중에는 테스트를 통하였으니 API를 개발하면서 시간적인 로스가 많이 개선될 것으로 사료된다.
그럼 테스트 하는 방법에 대해서 알아보자
private String nickname;
private String email;
이렇게 간단한 VO 클래스를 하나 만들어 준다 .
그 후 테스트를 할 수 있는 메소드를 하나 만들어 보자
public User(String nickname, String email){
this.nickname = nickname;
this.email = email;
}
간단한 생성자를 만들어 준뒤
public static User testCreate(String nickname,String email){
return new User(nickname,email);
}
그 뒤 User라는 이름으로 만들어 주자
그 다음 Test / Java / 만들 테스트 폴더 / 자바 테스트 클래스
@Test
void 유저_생성(){
User user = User.testCreate("nickname","email" );
}
이렇게 테스트 코드를 작성하였다.
그 후 테스트를 진행 해보면
테스트 결과는 성공이다.
오늘은 테스트 방법에 대해서 알아보았다.
다음에는 Repository를 만드는 방법에 대해서 알아보자
'Team Project > MinecraftJOB' 카테고리의 다른 글
팀프로젝트 1 지라를 이용한 이슈관리 (0) | 2022.09.25 |
---|