반응형

앞서 우리는 지라를 통한 이슈트래킹에 대하여 살펴보았다. 

그 다음에 프로젝트에서 가장 중요한 테스트 코드를 한번 해보려고 한다. 

 

테스트 코드를 작성하는 이유

테스트 코드를 작성하는 이유는 무엇일까. 사실 테스트 코드를 작성해본 적이 없는 사람은 테스트코드를 작성하는것만도 오랜 시간이 걸린다. 개발하기도 바쁜데 테스트코드를 작성하는 것까지 시간을 뺏기고,막상 개발에 투자할 시간이 줄어드는 배보다 배꼽이 더 큰 것 같은 이유로 테스트 코드를 작성하지 않고는 한다. 테스트 코드를 작성해야 하는 이유를 알아보자.

안정적 확장을 가능하게 함

기능을 추가하면 추가된 기능이 다른 코드에 어떤 영향을 미치는 끼치는 지 파악해야 한다. 테스트 코드를 통해 특정부분이 변함없이 작동한다는 확신을 얻으며 개발하는 것과 그렇지 않은 것은 안정성,트러블슈팅의 유용함에서 큰 차이를 보인다.
때문에 프로젝트가 커질수록, 쌓아온 테스트코드가 있는 쪽이 큰 효율과 안정성을 가진다.

시간의 단축(빠른 피드백)

큰 프로젝트일수록 테스트를 위해 실제 서버를 동작시키고,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
반응형

오랜만에 포스팅이다 

그 동안 정말 많은 일이 있던 듯 하다. 

 

우연히 신입개발자 모임에서 팀프로젝트를 구한다는 카톡을 확인 하고 

부랴부랴 .. 구인에 성공했다. 

 

아직은 초보지만 팀리더분이 아주 잘 아시는 분이라 배우기에는 매우 괜찮을 듯하다. 

 

테스트 코드를 작성하는 것 플라이웨이를 왜쓰는지

전반적인 프로젝트에 대해 설명해 주시며 왜 쓰는지 소통을 슬랙으로 하지만 

 

왜 사용하지는 이유를 항시 뒷받침해주며 이해도를 증가시키는 것 같다. 

 

서론이 길었다 

 

지라란? 

 

우선 지라는 소프트웨어 프로세스 관리 도구 이다

즉 이슈 트레킹 이슈 관리 툴이라고 보면 된다. 

 

사용하는 이유는 

 

프로젝트를 진행하다보면 미처 예상치 못한 여러가지 이슈가 생기는데 이슈는 프로젝트에 대한 추가적인 요구사항이거나 예상치 못한 문제점일 가능성이 있다. 그리고 프로젝트는 종종 이슈가 프로젝트 개발자들에게 제대로 공유되지 않거나 이슈를 담당할 책임자가 없어

모두 다 내일이 아님 !? 이런 식으로 묻힐거 같기 때문에 여러 사람이 다양한 여러가지 업무를 협업하여 진행하기 때문에 커뮤니케이션이 원활하게 이루어 지지않거나 특정 업무가 다른업무에 묻히는 이유이기도 할 것이다. 

 

그래서 협업이 중요한 많은 기업에서는 이슈트래커를 사용한다. 

 

우선 지라를 살펴 보자 

 

이렇게 해당 프로젝트의 백로그를 보면 이슈들이 체크되어있다. 

이때 깃과 연동할 시 예를 들면 min-20이라는 이슈를 체크한다고 했을때

min-20이라는 브렌치가 생긴다. 

 

우선 이 이슈를 나에게 할당 해보자 

 

할당을 하였다면 인텔리 제이로 가보겠다. 

 

우선 깃에 있는 메인브렌치를 체크아웃 한 뒤 

 

 

지라와 인텔리제이가 연동이 되었다면

아까 배정한 작업이 연동이 된다. 

 

 

 

이렇게 모든 작업이 되었다면 확인을 누르고 모든 배치파일 들이 정상으로 돌아가는지 확인 후 

작업을 진행하면 된다!

 

반응형

'Team Project > MinecraftJOB' 카테고리의 다른 글

팀프로젝트 2 Junit Test  (1) 2022.09.30

+ Recent posts