如何使用更改的默认日期绑定对控制器进行单元测试?

时间:2015-04-24 19:36:49

标签: unit-testing grails controller spock

如何在控制器spock测试中模拟 grails.databinding.dateFormats 的行为?

在我的Config.groovy中,我添加了以下设置:

$('input[name="chk1"]').change(function(){
    checkQuestion("Question 1", this.value);
});
$('input[name="chk2"]').change(function(){
    checkQuestion("Question 2", this.value);
});
$('input[name="chk3"]').change(function(){
    checkQuestion("Question 3", this.value);
});

function checkQuestion(text, value) {
    if ($('#comment').text().indexOf(text)<0)
        $('#comment').text($('#comment').text() + text + ":" + value + "\n");
    else {
        var oldValue = 'yes';
        if (value==='yes') oldValue = 'no';
        $('#comment').text($('#comment').text().replace(text + ":" + oldValue, text + ":" + value));
    }
}

我需要做些什么才能让单元测试框架使用其中一种指定格式绑定日期属性?

我的控制器如下:

grails.databinding.dateFormats = [
    'yyyy-MM-dd\'T\'HH:mm:ss.SSSX',
    'yyyy-MM-dd\'T\'HH:mm:ssX',
]

当我运行应用程序时,此代码正常工作;但是,在单元测试中调用bindData()时,将填充命令对象上的“resourceId”属性,而不会填充日期属性。

0 个答案:

没有答案