【问题标题】:Grails Unit Test Controller with JSON Request带有 JSON 请求的 Grails 单元测试控制器
【发布时间】:2013-07-15 21:41:56
【问题描述】:

我在控制器中有这些东西:

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

当我使用浏览器时,“stuff/show/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
}

非常感谢!

【问题讨论】:

  • 您认为该服务为何以及如何接受 JSON 请求?
  • 我阅读了一些关于控制器单元测试的文档文件,这就是我能想到的。你能帮我吗?
  • here开始。

标签: json testing grails parameters controller


【解决方案1】:

1.你添加@TestFor注解了吗?

import grails.test.mixin.TestFor

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

    }
}

2.如果你没有做任何特殊配置,我猜request的参数不是json。所以你可以简单地做:

params.id = 3

更多细节可以参考Grails 2.0 控制器单元测试文档here强烈推荐)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-14
    • 1970-01-01
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 2015-02-22
    • 1970-01-01
    相关资源
    最近更新 更多