我想在单元测试中测试grails-app中的web流程。 我有重定向错误。
网络流程的代码是:
def redesignSignup = {
redirect(action: "signupRedesign")
}
// Responsible for the new signup flow
def signupRedesignFlow = {
start {
on("yes").to"createAccount"
}
createAccount{
on("next"){
flow.step = 2
flash.name = "flash"}.to"congrats"
on("back"){}.to "start"
}
congrats {
redirect(controller: "connection", action: "details", params: [newUser: true])
}
}
单元测试的代码是:
class WizardControllerSpec extends Specification {
def "test next"(){
// step1->step2
when:"user click yes in start"
then:"next page is create account"
assert "createAccount" == signupRedesignFlow.start.on.yes.to
when:"user click next in createAccount"
then:"next page is connectPeople"
assert "connectPeople" == signupRedesignFlow.createAccount.on.next.to
when:"user click next in invitePartners"
then:"next page is congrats"
assert "congrats" == signupRedesignFlow.invitePartners.on.next.to
}
我得到的错误是: org.codehaus.groovy.grails.web.servlet.mvc.exceptions.CannotRedirectException:无法在此处发出重定向(..)。之前调用重定向(..)
**注意到即使在恭喜中调用重定向也没有测试