sm 기술 블로그

TDD 본문

Java

TDD

sm_hope 2022. 6. 8. 22:39

TDD

테스트를 진행하면서 코딩을 하는 방식

pom.xml 에 아래 문구를 추가한다.

 <dependencies>
        
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.8.2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

TDD 방법

  1. 실패하는 테스트를 만든다.
// src/test/java/com/exam/exam1/AppTest.java
package com.exam.exam1;

import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.assertEquals;

public class AppTest {
    @Test
    public void 더하기() {
        Calc calc = new Calc();

        calc.setNo1(1);
        calc.setNo2(2);

        int rs = calc.calcPlus();

        assertEquals(rs, 3);
    }
}

위에 것을 실행하면 실패함 => Calc 클래스가 아직 선언 안되서
ctrl + 1로 바로 만들 수 있음.

import org.junit.jupiter.api.Test; : @Test를 사용하기 위해서 필요
// : 사람이 읽는 주석
@ : 컴퓨터가 읽는 주석

import static org.junit.jupiter.api.Assertions.assertEquals; : assertEquals를 사용하기 위해서 필요
assertEquals(A,B) : 결과로 나온 A 값이 개발자가 생각한 B로 나오는지 확인하는 것이다.

  1. 꼼수를 써서 테스트를 통과하게 만든다.
// src/main/java/com/exam/exam1/Calc.java
package com.exam.exam1;

public class Calc {

	public void setNo1(int no) {
			
    }
    public void setNo2(int no) {
        
    }
     public int calcPlus() {
     return 3;
    }
}

일단 return 3으로 테스트는 통과되었다.

  1. 정리한다.
// src/main/java/com/exam/exam1/Calc.java
package com.exam.exam1;

public class Calc {
	int no1;
    int no2;
    
    
	public void setNo1(int no) {
			no1 = no;
    }
    public void setNo2(int no) {
        	no2 = no;
    }
     public int calcPlus() {
     return no1+no2;
    }
}

'Java' 카테고리의 다른 글

집합자료형  (0) 2022.06.21
정규식  (0) 2022.06.09
자바 신속 문법  (0) 2022.06.07
열거타입 enum  (0) 2022.05.28
자바의 객체 2  (0) 2022.05.22
Comments