본 포스팅은 진짜 개발자 블로그의 글을 참고하여 작성하였습니다.

 

Test - Test 코드를 작성해야하는 이유와, 방법

1. 테스트코드의 중요성 1. Test Code를 왜 작성해야 하는가우선 테스트코드를 작성하기 전, 우리가 왜 TestCode를 작성해야 하는지를 먼저 알아야, 귀찮은 테스트코드를 꼭 작성하려고 할것 같습니다

galid1.tistory.com

 

테스트 코드 작성방법

public class Dog {
	public String bark(String wang) {
    	return "bark " + wang;
    }
}

위 Dog class 를 테스트한다고 가정한다.

 

1. 테스트 대상의 행위를 정한다.

Dog 객체에서 bark() 라는 메소드에 매개변수로 wang을 전달하여 호출하면 ? (행위)

 

2. 기대하는 결과를 작성

bark wang 을 반환해야 한다.

 

3. 두 문장을 결합해서 테스트 코드로 작성한다.

public class DogTest {	
	@Test
    public void bark_테스트() throws Exception {
    	// given
        String wang = "Wang Wang";
        Dog d1 = new Dog();
        
        // when
        String d1Bark = d1.bark(wang);
        
        // then
        assertTaht(d1Bark, is("bark Wang Wang"));
    }
}

테스트 코드 작성 팁

1. given, when, then

테스트 코드 작성시, 많은 곳에서 추천하는 코딩 스타일이다.

어떡값이 주어지는지, 무엇을 했을 때, 어떤 값을 원하는지를 나누어 직관적으로 볼 수 있기 때문이다.

 

2. 모든 response에 대한 테스트를 진행한다.

 

3. F.I.R.S.T

FIRST는 아래의 용어들의 약자이다.

 

F:: Fast

단위 테스트는 가능한 빠르게 실행되어야 한다.

실햄함에 있어서 너무 느려서 테스트 실행을 꺼리게 된다면 잘못된 단위 테스트이다.

 

I:: Independent

단위 테스트는 객체의 상태, 메소드, 이전 테스트 상태, 다른 메소드의 결과 등에 의존해서는 안된다.

➡️ 즉, 단위테스트는 어떤 순서로 실행하더라도 성공해야 한다.

 

R:: Repratable

단위 테스트는 반복 가능해야 한다.

 

S:: Self-validating

단위 테스트는 자체 검증이 가능해야 한다. 테스트를 개발자가 직접 수동으로 확인할 필요 없이, Assert 문 등에 의해 성공 여부가 결과로 나타나야 한다.

 

T:: Timely

단위 테스트를 통과하는 제품코드가 작성되기 바로전에 단위테스트를 작성해야 한다. 

TDD를 하고 있다면 적용이 되지만 그렇지 않을 수도 있다.

728x90

'Language > JAVA' 카테고리의 다른 글

[JAVA] 값 복사와 주소 복사  (0) 2023.10.25
[JAVA] Java Collections / Array / ArrayList  (2) 2023.10.25
[JAVA] 메소드 Method  (0) 2023.10.19
[JAVA] 패키지  (0) 2023.10.19
[JAVA] 접근 제어자  (0) 2023.10.19

+ Recent posts