범용적으로 사용되는 단위 테스트 framework 이다.
Java언어의 단위(기능)테스트를 위해 사용한다.
즉, 테스트 시 기대값과 결과값을 비교한다. 일치하면 테스트성공.
프로그래밍에서 유닛테스트라는 소스코드의 특정 모듈이 의도한 대로 정확히 작동하는지 검증하는 절차이다.
즉, 모든 함수에 대한 테스트케이스(test case)를 작성하는 절차.
이를 통해서 언제라도 코드변경으로 인해 문제 발생시, 단시간 내에 파악하고 바로 잡을 수 있다.
Junit은 단독으로 돌아간다. web처럼 WAS필요없이 run시키면 돌아간다.
와스없이 단독으로 돌아가기때문에 스프링에 설정파일을 직접 설정해주어 실행한다. 실제로는 사용자에게 입력받아야 하는데 와스가 없기때문에 임의의 값을 주고, 기능의 값을 테스트 한다. 즉, 웹환경 테스트가 아닌 순수 기능에 대한 테스트이다. 사용자로부터 입력받았다는 가정 하에 임의의 값으로 테스트를 하는 것이다.
언제 사용하나?
외부데이터를 검증할때 주로 사용한다.
의도적 에러코드 작성 > Run As > JunitTest > 우측 빨간에러 확인.
Junit 어노테이션 @
@Test
테스트어노테이션 선언시 테스트를 수행하는 메소드가 된다.
Junit은 각각의 테스트가 서로 영향을 주지않고 독립적으로 실행되며, @Test마다 객체를 생성한다.
@Ignore
테스트 실행하지 않는다
@Before
테스트 메소드가 실행되기 전에 반드시 실행한다.
@After
테스트 메소드가 실행된 후 실행한다
@BeforeClass
테스트 메소드보다 먼저 한번만 수행되어야 할 경우에 사용한다.
클래스가 로딩되는 시점에서 한번만 실행한다.
@AfterClass
테스트 메소드보다 뒤에 한번만 수행되어야 할 경우에 사용한다.
클래스가 로딩되는 시점에서 한번만 실행한다.
Spring-Test 어노테이션 @
@RunWith
junit프레임워크의 테스트 실행을 확장할때 사용하는 어노테이션이다.
SpringJUnit4ClassRunner라는 클래스를 지정해주면 제이유닛이 테스트를 진행하는 중에 ApplicationContext를 만들고 관리해준다.
싱글톤 ApplicationContext를 보장한다
@ContextConfiguration
스프링 빈 설정 파일의 위치를 지정할때 사용되는 어노테이션이다.
@AutoWired
오토와이어드는 스프링 DI(의존주입)에서 사용되는 특수 어노테이션이다.
해당 변수에 자동으로 빈을 매핑해준다.
'Back-end > JAVA,Spring' 카테고리의 다른 글
MAVEN 메이븐이란? (0) | 2018.11.08 |
---|---|
log4J란? log4j설정법. (0) | 2018.11.08 |
마이바티스 란? mybatis 설정방법 및 순서. (0) | 2018.11.08 |
[Spring]Application Context 설정. (0) | 2018.11.07 |
Spring- Singleton pattern 싱글톤 패턴이란? (0) | 2018.11.07 |