2012-11-12 3 views
0

Grails (2.1.1., JUnit 4.1, IntelliJ) 컨트롤러 테스트. 맨 위 스 니펫의 testHandleLogin에 대해 u가 표시되지 않는 이유는 무엇입니까? UC는Grails 컨트롤러 테스트 구성원 변수가 인식되지 않습니다.

@TestFor(UserController) 
class UserControllerTests { 

    UserController uc 
    //def UserController uc > same result, fails 

    void setUp() { 

     uc = new UserController() 
    } 

    void testHandleLogin() { 

     assert uc 
    } 

이 작동 null 인 즉, 주장 내가 해결책을 찾을 질문을 한 후

@TestFor(UserController) 
class UserControllerTests { 

    void setUp() {} 

    void testHandleLogin() { 

     def uc = new UserController() 
     assert uc 
    } 
+0

사이드 노트 : 항상 super.setUp()을 호출해야합니다. – Nihathrael

답변

0
물론

, 5 분 성공 때문에

이 사람은, testHandleLogin의 주장을 실패

"@Before"를 setUp() 메서드에 추가하면 트릭을 수행합니다.

+0

그런 경우, @Test를 테스트 케이스'@Test void handleLogin()'에 추가하고 싶을 것이다. 그런 다음 junit 버전 3 스타일을 junit 4와 혼합하지 않을 것입니다. 테스트 케이스를 식별하기 위해 더 이상 리플렉션을 사용하지 않으므로 @Test로 주석 된 각 사례의 시작 부분에서 단어 테스트를 제거 할 수도 있습니다. – j4y

관련 문제