加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

单元测试 – 单元测试控制器方法?

发布时间:2020-12-14 16:29:27 所属栏目:大数据 来源:网络整理
导读:我有一个像这样的控制器方法: def search = { def query = params.query ... render results as JSON} 我如何对此进行单元测试?具体来说,如何调用search来设置params.query,以及如何测试方法渲染的结果?有没有办法模拟渲染方法呢? 解决方法 子类 grails.
我有一个像这样的控制器方法:

def search = {
    def query = params.query

            ...

    render results as JSON
}

我如何对此进行单元测试?具体来说,如何调用search来设置params.query,以及如何测试方法渲染的结果?有没有办法模拟渲染方法呢?

解决方法

子类 grails.test.ControllerUnitTestCase用于您的单元测试. Grails将自动实例化您的控制器并模拟渲染和重定向的版本,以便您轻松地测试结果.只需将测试输入分配给controller.params即可设置测试.

例:

class SomethingController {
    def search = {
        def query = params.query
        ...stuff...
        render results as JSON
    }
}

测试看起来像:

class SomethingControllerTests extends grails.test.ControllerUnitTestCase {
    void testSearch() {
        controller.params.query = "test query"
        controller.search()
        assertEquals "expected result",controller.response.contentAsString
    }
}

注意:如果需要完整的数据库集成环境,也可以使用ControllerUnitTestCase进行集成测试.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读