【问题标题】:Grails - Unit test controller that's using a named marshallerGrails - 使用命名编组器的单元测试控制器
【发布时间】:2015-07-01 20:44:17
【问题描述】:

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

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!

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

【问题讨论】:

    标签: grails grails-2.0 spock


    【解决方案1】:

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

    given: 'register marshaller'
    JSON.createNamedConfig('complete') { 
        it.registerObjectMarshaller(Map) { Map item -> item }
    }
    
    when: 'controller action is called'
    controller.userByEmail()
    
    then:
    // assertion goes here
    

    【讨论】:

    • 有没有在引导程序和测试文件中两次保存命名编组器代码的解决方案?谢谢
    猜你喜欢
    • 1970-01-01
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-28
    • 1970-01-01
    相关资源
    最近更新 更多