首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单元测试Grails控制器链

单元测试Grails控制器链
EN

Stack Overflow用户
提问于 2014-07-23 11:47:17
回答 1查看 443关注 0票数 3

我不知道如何测试一个控制器动作,做‘链’。我想核实一下这一行动。

Grails: 2.4.2

主计长:

代码语言:javascript
复制
class MyController {

def index() {

}

def doesChain() {
    chain action: 'index', model: [name: "my name"]
}

}

测试:

代码语言:javascript
复制
@TestFor(MyController)
class MyControllerSpec extends Specification {

def setup() {
}

def cleanup() {
}

void "Action doing chain"() {

    when:
    controller.doesChain()

    then:
    controller.chainModel.name == "my name"
    controller.actionName == "someAction" // fails as actionName == null
}

}

测试操作名没有传递,因为actionName似乎是空的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-23 13:49:55

你可以这样做..。

代码语言:javascript
复制
@TestFor(MyController)
class MyControllerSpec extends Specification {

    void "Action doing chain"() {

        when: 'an action invokes the chain method'
        controller.doesChain()

        then: 'the model is as expected'

        // either of these should work, you don't need both...
        controller.chainModel.name == "my name"
        flash.chainModel.name == "my name"

        and: 'the redirect url is as expected'
        response.redirectUrl == '/my/index'

    }
}

我希望这能帮上忙。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24909675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档