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

如何在grails中测试基于参数的重定向,grails,spock,Grails,Spock,比如, 这是我的控制器代码,但我不知道如何使用Spock在grails中为此编写测试用例 if(params.create){ redirect(action: "create", controller: "premiumFeature") }else if(params.taxslab){ redirect(action: "create", controller: "taxSlab") } 在此create和taxSlab是按钮名称中,您可以基于响应的redire

比如,

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

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

在此
create
taxSlab
是按钮名称中,您可以基于响应的
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"
    }
}