如何在grails中测试基于params的重定向

时间:2014-08-08 05:53:50

标签: grails spock

例如;

这是我的控制器代码,但我不知道如何使用Spock在grails中编写测试用例。

if(params.create){ 
    redirect(action: "create", controller: "premiumFeature") 
}else if(params.taxslab){ 
    redirect(action: "create", controller: "taxSlab") 
} 

在此createtaxSlab是按钮名称

1 个答案:

答案 0 :(得分:4)

您可以根据响应的redirectedUrl属性测试重定向。像这样:

@TestFor(MyController)
class MyControllerSpec extends Specification {

    void "your test"() {
        when: 
        def request = controller.request
        request.addParameter("create", "paramvalue")

        and: 
        controller.yourAction()

        then: 
        response.redirectedUrl == "/premiumFeature/create"
    }
}