[ 단위테스트 JUnit ]
* JUnit은 자바용 단위 테스트 작성을 위한 산업 표준 프레임워크다.
1. 단위테스트란 무엇인가?
테스트의 대상이 되는 코드 중에서 아주 작은 특정 영역을 실행해 보는 개발자가 작성한
코드 조각이다.
2 .어떤 것을 테스트 해야 하는 가?
- 자신이 생각한 대로 코드가 동작하는지 검증하고자 할때
- 디스크가 꽉차있고, 네트워크가 단절되어있고, 버퍼 오버플로우가 되는 예외 상황에서도
코드가 동작되는지 알아보고자 할때
- 실제 DB 접속이 되지 않은 상태에서 설정이 제대로 되어 있는지 확인하고자 할때...
[JUnit(단위테스트)]
- 단위코드에서 문제 발생 소지가 있는 모든 부분을 테스트 하는 작업
- 보통 클래스의 public method를 테스트한다.
- 좋은 단위 테스트란 모든 메서드를 테스트하는 것이 아니라, 상식 수준의 확인을 통해 의도대로 동작
하는 지를 여부를 판단하는 테스트
* JUnit 4 라이브러리 추가(스프링에서는 JUnit 라이브러리 추가되어 있음)
일반적인 테스트
: 아래 double res3 에서 에러가 발생한다. -0.89999... 이런 식으로 에러 발생.
package jUnitTest;
public class JunitEx01 {
public static class Calculator{
public double sum(double n1, double n2){
return n1+ n2;
}
}
public static void main(String [] args){
Calculator c = new Calculator();
double res = c.sum(10, 20);
if(res != 30){
System.err.println("err :"+ res);
}
double res2 = c.sum(1.1, 2);
if(res2 !=3.1){
System.err.println("err :"+res2);
}
double res3 = c.sum(1.1, -2);
if(res3 !=-0.9){
System.err.println("err :"+res3);
}
}
}
JUnit 단위테스트:
@Test 어노테이션을 쓴다.
@Test 어노테이션이 선언된 메소드는 - static이 들어가면 안된다.
- 파라미터가 있어서는 안된다.
assertEquals(p1, p2,p3) : p1: 기대값(예상값), p2: 결과값변수(실제값), p3: 오차범위(허용오차)
package jUnitTest;
import static org.junit.Assert.*;
import org.junit.Test;
public class CalculatorTest {
@Test
public void test(){
Calculator c = new Calculator();
double res = c.sum(10, 20);
assertEquals(30, res, 0); // assertEquals(p1, p2,p3)
// p1: 기대값(예상값), p2: 결과값변수(실제값), p3: 오차범위(허용오차)
// if(res != 30){
// System.err.println("err :"+ res);
// }
res = c.sum(1.1, 2);
assertEquals(3.1, res, 0);
// if(res !=3.1){
// System.err.println("err :"+res);
// }
res = c.sum(1.1, -2);
assertEquals(-0.9, res, 0.1);
// if(res !=-0.9){
// System.err.println("err :"+res);
// }
}
// public void main(){
// CalculatorTest cTest = new CalculatorTest();
// cTest.jUnitTest();
// }
// public void jUnitTest(){
//
// }
/*
* @Test 어노테이션이 선언된 메소드는 - static이 들어가면 안된다.
- 파라미터가 있어서는 안된다.
*/
}
'기존카테고리 > JUnit' 카테고리의 다른 글
Oracle Connection 테스트 (0) | 2017.08.02 |
---|---|
테스트를 위한 환경설정(1.8버전 설치와 스프링 4.3.10.RELEASE 버전 업 등 (0) | 2017.08.02 |