单元测试 – 单元测试控制器方法?
发布时间: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进行集成测试. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |