'Mockito'에 해당되는 글 2건

  1. 2012.03.19 Spring MVC Controller Junit Test 작성해보기.
  2. 2010.03.16 JUnit 4 - annotation 설명

Spring MVC Controller Junit Test 작성해보기.

ITWeb/개발일반 2012. 3. 19. 19:10
java 개발 하면서 TDD 많이들 들어 보셨을 겁니다.
또는 Code 의 품질 확보를 위한 방법으로도 junit 을 적용하기도 하구요.
뭐.. 이유야 어찌되었건... 오늘은 spring mvc 로 개발한 controller 에 대해서 test code 를 작성해 보겠습니다.
아래 예제는 Mockito 를 이용해서 작성 하였습니다.

[참고사이트]



[BoardContentViewController.java - Controller]


[BoardContentViewControllerTest.java - Controller] 
- 다들 아시겠지만, src/test/java 아래 동일 패키지명으로 해서 해당 클래스 뒤에 Test 만 붙히시면 됩니다.
- Model 같은 경우 interface 이기 때문에 initialize 를 하면 오류가 발생 합니다. 그렇다 보니 이넘이 구현체를 가지고 initialize 하시면 오류가 없습니다.
- Controller 에서 @Autowired 를 했기 때문에 따로 service 객체에 대한 setter 를 구현 안했었는데요, 이렇게 하니 Test 에서 service 객체가 null 이라고 계속 오류를 냅니다.
- 그래서 위에서 처럼 setter 를 생성 해서 해결 했습니다. (다른 방법 아시는 분은 공유 부탁 합니다.)


[pom.xml 추가설정]


※ 예제를 보셔서 아시겠지만 초절정 쉬운 TestCase 작성 내용이였습니다.
이를 기반으로 확장및 응용은 각자의 몫으로 남기겠습니다.

:

JUnit 4 - annotation 설명

ITWeb/개발일반 2010. 3. 16. 17:00
@Test annotation
Test Case 를 만들어 줍니다. (선언)
 

@Test

public void blahMethod() {
    String result = "blah";

    assertEquals("blah", result);

}


@Before & @After annotation

각각 setup 과 tearDown method 를 위한 annotation

@Before

public void blahBeforeTest() {
    blah = new Blah();

}

@After

public void blahAfterTest() {
    blah = null;

}


@BeforeClass & @AfterClass
@BeforeClass : test case 수행 이전에 한번 실행, @AfterClass : test case 수행 후 한번 실행

@BeforeClass

public void blahBeforeTest() {
}

@AfterClass

public void blahAfterTest() {

}


@Ignore
Test Case 수행을 무시


@기타
@Ignore("무시이유작성")
@Test(timeout = 1000) : 시정한 시간이 경과 하면 test fail. (miiseconds)


사용하면 편한 mock 객체
- easymock
- mockito
: