Grails集成测试 - 使用if语句处理不同的参数

时间:2014-06-13 14:01:12

标签: grails junit integration-testing

Grails集成测试:遍历if语句。

大家好,

我有一个问题。我是集成测试的新手,在这部分遇到了一些困难。视图的断言返回null,我不确定原因。这就是我以前的同事向我展示如何进行集成测试的方法,以及我对本地xml数据库的测试。

@TestFor(IndexController)
class IndexControllerTests extends DbunitGroovyTestCase {
    @Test
    void "test loadstack"(){
        controller.loadStackTab()  \\create and call controller
        params.stack == 'messages'  \\ set up it's inputs
        assert view == "/applicationMessage/currentMessages"  \\ assertions
        assert model.appMessages != null    \\ assertions
        assert model.appMessages.size() == 2    \\ assertions

    }
}

同样,视图的断言返回null,我不确定原因。

这里是我要测试的控制器代码片段(下面还有其他东西,我现在没有测试,只是从上到下进行测试):

@Transactional(readOnly = true)
    def loadStackTab(){
        if(params.stack){
            if(params.stack == 'messages'){
                def crit = ApplicationMessage.createCriteria()
                def results = crit.listDistinct{
                    or{
                        isNull('messageInactivationDate')
                        gt('messageInactivationDate', (new Date()))
                    }
                    lt('messageDate', new Date())
                }
                render(template:'/applicationMessage/currentMessages',model:[appMessages:results])
                return
\\other stuff below...
非常感谢你的帮助。 :) - 瑞恩

0 个答案:

没有答案