일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 깃헙
- 즐거운자바
- 부정 선택자
- JavaScript
- 다시보자
- 웹개발
- 자바
- nth-of-type()
- HTML Templating
- datalist
- vmin
- 복합 선택자
- 가상요소 선택자
- 속성 선택자
- EDWITH
- vmax
- 가상클래스 선택자
- 즐거운 자바
- optgroup
- 서블릿
- 부스트코스
- ES6
- spring
- 상속
- 다시볼 것
- 소스트리
- jsp
- 김성박
- 보충필요
- nth-child()
Archives
- Today
- Total
기억의 DataBase
junit(+Folder와 package의 차이) 본문
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
메이븐 사용시 junit 라이브러리 추가(version 3과 4 사이의 차이 주의)
package junit.junitTest;
public class Calculator {
int add (int a, int b){
return a+b;
}
}
Test할 메소드 add()
Test 코드를 모아두는 Package를 선택하고 위의 탭을 선택
package junit.junitTest;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class test {
@Before
public void setUp() throws Exception {
}
@Test
public void test() {
fail("Not yet implemented");
}
@After
public void tearDown() throws Exception {
}
}
이후 생성되는 기본 Test 클래스 - 모든 메소드는 public으로 작성해야 함!
(static import로 Assert안의 메소드를 객체 생성 없이 사용 가능)
(static import로 Assert안의 메소드를 객체 생성 없이 사용 가능)
@Before : @Test의 메소드에서 사용할 객체를 초기화(생성) 해주는 메소드임을 의미
public class CalculatorTest {
Calculator cal;
@Before
public void setUp() throws Exception {
cal = new Calculator();
}
그냥 전역변수로 선언해서 사용하면 복수의 @Test의 메소드를 실행할 경우
객체의 상태가 변화하여 각각의 메소드를 정확하게 테스트 할 수 없으므로
각각의 메소드를 테스트 할 때마다 @Before의 메소드가 실행되어 새로운 객체를 생성
@Test : 테스트할 내용이 있는 메소드임을 의미
@Test
public void add(){
assertEquals(2, cal.add(1,1));
}
assertEquals(기대하는 값, 테스트할 메소드의 return 값)
두 값이 같으면 pass, 다르면 fail
@After : 테스트가 완료된 후 메모리에 올라간 객체들을 제거하는 메소드임을 의미
테스트 결과 확인(pass)
(Test 클래스에서 Ctr+F11을 통해 실행가능- main 메소드를 작성하지 않고 가능!)
※ Package와 Folder의 차이
폴더 : 파일이 존재하는 물리적인 위치
패키지 : 파일이 존재하는 물리적인 위치 + 경로
다른 폴더, 같은 패키지 이름
실제 파일에서는 같은 이름이더라도, 물리적으로 다른 폴더로 따로 존재한다.
물리적으로 다른 폴더에 위치하고 있지만, 패키지 이름(main)이 같기 때문에 같은 패키지로 인식하여
public과 같은 접근제한자 없이도, src 폴더에 있는 메소드를 test 폴더에 있는 클래스에서 사용할 수 있다.
(패키지의 이름이 같으면, 경로로 파악하기 때문에 같은 패키지로 인식)
'Tools' 카테고리의 다른 글
Git & GitHub & SourceTree (0) | 2019.03.04 |
---|
Comments