jUnit 의 개요와 특징

jUnit의 특징

  • 단정(assert) 매소드로 테스트 케이스의 수행결과를 판별한다. 
  • assertEquals(예상값, 실제값)
  • jUnit4부터는 테스트를 지원하는 어노테이션을 제공한다 (@Test, @Before, @After)
  • 각 @Test 메서드가 호출할 때 마다 새로운 인스턴스를 생성하여 독립적인 테스트가 이루어지도록 한다.

jUnit을 사용한 DI 테스트 클래스


jUnit 라이브러리 설치


jUnit에서 테스트를 지원하는 어노테이션

 

@Test

  • @Test가 선언된 메서드는 테스트를 수행하는 메소드가 된다.
  • Junit은 각각의 테스트가 서로 영향을 주지 않고 독립적으로 실행됨을 원칙으로 한다.

@Ignore

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

@Before

  • @Before가 선언된 메서드는 @Test 메소드가 실행되기 전 반드시 실행된다.
  • 공통으로 사용하는 코드를 @Before 메소드에 선언하여 사용하자.

@After

  • @Test가 실행된 후에 실행된다.

@BeforeClass

  • @Test보다 먼저 한번만 수행되어야 할 경우에 사용

@AfterClass

  • @Test 메소드보다 나중에 한번만 수행되어야할 경우 사용

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

  • assertEquals(a,b); - 객체 A,B가 일치함을 확인 (값 확인)
  • assertArrayEquals(a,b); - 배열 A,B가 일치함을 확인
  • assertSame(a,b); - 객체 A, B가 같은 객체임을 확인한다. (레퍼런스 확인)
  • assertTrue(a); - 조건 A가 참인지 확인한다.
  • assertNotNull(a); - 객체 A가 null이 아님을 확인한다.

jUnit을 사용한 DI 테스트 클래스 작성 (HelloBeanJunitTest.java)


Spring-Test를 사용한 DI테스트 클래스

Spring-Test 라이브러리 설치


Spring-Test 에서 테스트를 지원하는 어노테이션

@RunWith(SpringJUnit4ClassRunner.class)

  • @RunWith 는 jUnit 프레임워크의 테스트 실행방법을 확장할 때 사용하는 어노테이션
  • SpringJUnit4ClassRunner 라는 클래스를 지정해주면 jUnit이 테스트를 진행하는 중에 ApplicationContext를 만들고 관리하는 작업을 진행해준다.
  • @RunWith 어노테이션은 각각의 테스트 별로 객체가 생성되더라도 싱글톤의 ApplicationContext를 보장

@ContextConfiguration

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

@Autowired

  • 스프링 DI에서 사용하는 특별한 어노테이션이다.
  • 해당 변수에 자동으로 빈을 매핑해준다.
  • 스프링 빈 설정파일을 읽기 위해 굳이 GenericXmlApplicationContext를 사용할 필요가 없다.

Sprint-Test를 사용한 DI 테스트 클래스 작성 (HelloBeanSpringTest.java)

'Back-end > Spring' 카테고리의 다른 글

DI 애플리케이션 작성(4)  (0) 2021.06.10
DI 애플리케이션 작성(3)  (0) 2021.06.10
DI 애플리케이션 작성(1)  (0) 2021.06.10
IoC와 DI  (0) 2021.06.09
Spring Project 시작하기  (0) 2021.06.09

+ Recent posts