소소한개발팁
Published 2020. 1. 3. 17:56
JUnit , Sprint Test 프레임워크/Spring
반응형

jUnit의 특징

 

* TDD의 창시자인 Kent Beck과 디자인 패턴 책의 저자인 Erich Gamma 가 작성했다.

 

* 단정(assert)메서드로 테스트 케이스의 수행 결과를 판별한다.

예) assertEquals(예상 값,실제 값)

 

*jUnit4부터는 테스트를 지원하는 어노테이션을 제공한다.

 @Test @Before @After

 

*각 @Test 메서드가 호출할 때마다 새로운 인스턴스를 생성하여 독립적인 테스트가 이루어지도록 한다.

 

 @Test

 @Test가 선언된 메서드는 테스트를 수행하는 메소드가 된다.

 JUnit은 각각의 테스트가 서로 영향을 주지 않고 독립적으로 실행됨을 원칙으로 하므로 @Test마다 객체를 생성한다.

 

@Ignore

@Ignore가 선언된 메서드는 테스트를 실행하지 않게 된다.

 

@Before 

@Before가 선언된 메서드는 @Test 메소드가 실행되기 전에 반드시 실행되어 진다.

@Test 메소드에서 공통으로 사용하는 코드를 @Before 메소드에 선언하여 사용하면 된다.

 

@After 

@After가 선언된 메서드는 @Test 메소드가 실행된 후 실행된다.

 

@BeforeClass

@BeforeClass 어노테이션은 @Test 메소드 보다 먼저 한번만 수행되어야 할 경우에 사용하면 된다 .

 

@AfterClass

@AfterClass 어노테이션은 @Test 메소드 보다 나중에 한번만 수행되어야 할 경우에 사용된다.

 

테스트 결과를 확인하는 단정 메서드

org.junit.Assert

assertArrayEquals(expected,actual)

: 배열 A와 B 가 일치함을 확인한다.

assertEquals(expected,actual)

: 객체 A와 B 가 일치함을 확인한다.

assertNotNull(object)

: 객체가 Null이 아님을 확인한다.

assertSame(expected,actual)

: 객체  A와 B가 같은 객체임을 확인한다.

assertEquals 메서드는 두 객체의 값이 같은지 확인하고, assertSame 메서드는 두 객체의 레퍼런스가 동일한가를 확인한다. (==연산자)

assertTrue(object)

: 조건이 참인지를 확인한다.

 

Sprint - Test에서 테스트를 지원하는 어노테이션(Annotation) 

@RunWith(SpringJUnit4ClassRunner.class)

 

@RunWith는 jUnit 프레임워크의 텍스트 실행방법을 확장할 때 사용하는 어노테이션이다.

 

SpringJUnit4ClassRunner 라는 클래스를 지정해주면 jUnit이 테스트를 진행하는 중에 ApplicationContext를 만들고 관리하는 작업을 진행해 준다.

 

@RunWith 어노테이션은 각각의 테스트 별로 객체가 생성되더라도 싱글톤(Singleton)의 ApplicationContext를 보장한다.

 

@ContextConfiguration

스프링 빈(Bean)설정 파일의 위치를 지정할 때 사용되는 어노테이션이다.

 

@Autowired

스프링DI에서 사용되는 특별한 어노테이션이다.

해당 변수에 자동으로 빈을 매핑해준다.

스프링 빈 설정 파일을 읽기 위해 굳이 

GenericXmlApplicationContext를 사용할 필요가 없다.

 

 

 

반응형

'프레임워크 > Spring' 카테고리의 다른 글

Spring MVC  (0) 2020.01.06
Spring JDBC  (0) 2020.01.03
STS(SpringSource Tool Suite)  (0) 2019.12.24
Spring Framework 특징과 전략  (0) 2019.12.24
Spring - MyBatis 와 스프링 연동  (0) 2019.12.19
profile

소소한개발팁

@개발자 뱅

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!