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...
非常感谢你的帮助。 :) - 瑞恩