Grails - 使用命名marshaller的单元测试控制器

时间:2015-07-01 20:44:17

标签: grails grails-2.0 spock

我正在尝试对使用命名marshaller的控制器进行单元测试。控制器如下所示:

def userByEmail(UserByEmailCommand userByEmailCommand) {
    render checkForErrorsAndExecute(userByEmailCommand) { UserByEmailCommand cmd ->
        JSON.use("complete") {
            [users: [userService.getUserByPrimaryEmailAddress(cmd.email)]] as JSON
        }
    }
}

当我运行测试时,我得到一个例外Converter Configuration with name 'complete' not found!

对此有任何帮助将不胜感激。感谢。

1 个答案:

答案 0 :(得分:3)

您可以在测试中创建命名配置。例如:

given: 'register marshaller'
JSON.createNamedConfig('complete') { 
    it.registerObjectMarshaller(Map) { Map item -> item }
}

when: 'controller action is called'
controller.userByEmail()

then:
// assertion goes here
相关问题