2013-07-15 2 views
-1

나는이 컨트롤러에 물건이 : 내 브라우저를 사용할 때Grails는 단위 테스트 컨트롤러

def show{ 
render (contentType: "text/json"){ 
     needid = stuff.id 
     owner = stuff.owner.username 
     title = stuff.title 
} 

는 "물건/쇼/3"는 ID 3

으로 나에게 물건을 보여줄 것이다 이제 내 질문 :

단위 테스트 컨트롤러를 쓰려면 어떻게해야합니까? 더 정확하게 매개 변수 "3"을 보내려면 어떻게해야합니까?

나의 제안 :

void testShow(){ 
      request.json = ???? //how to send id parameter? 

      controller.show() 

      println(response.text); // show me whats the response 

      assert '3' == response.text //assert something, not sure if correct 
} 

대단히 감사합니다!

+2

왜 서비스에서 JSON 요청을받는다고 생각합니까? – dmahapatro

+0

컨트롤러에 대한 단위 테스트에 관한 doc 파일을 읽었습니다. 생각할 수있는 전부입니다. 당신이 나를 도울 수 ? – user2585063

+0

[여기] (http://grails.org/doc/latest/guide/)에서 시작하십시오. – dmahapatro

답변

0

@TestFor 주석을 추가 했습니까?

import grails.test.mixin.TestFor 

@TestFor(SimpleController) 
class SimpleControllerTests { 
    void testSomething() { 

    } 
} 

2. 특별한 설정을하지 않은 경우, 요청 매개 변수가 json이 아닌 것으로 보입니다. 그래서 당신은 간단하게 수행 할 수 있습니다

params.id = 3 

자세한 내용은, 당신이 컨트롤러 단위 테스트 here (이 강하게를 권장)에 대한 Grails의 2.0 문서를 참조 할 수 있습니다.

관련 문제