-1

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

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
}

非常感谢 !

4

1 回答 1

0

1.你是否添加了@TestFor注解?

import grails.test.mixin.TestFor

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

    }
}

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

params.id = 3

更多细节可以参考 Grails 2.0 Document about Controller Unit test here强烈推荐)。

于 2013-07-16T08:47:48.423 回答