断言控制器中设置的会话变量 - Grails测试用例

时间:2012-07-30 21:17:39

标签: unit-testing grails junit

我有一个控制器动作来检查条件,并根据条件的结果,它将字段设置为会话变量

控制器:

def checkUser={
    if(condition: true){
       session.user = id
    }else{
       session.user=null
    }
}

现在,在我的测试用例中,如果我必须断言此会话的用户值,我该怎么做?

我试过这样,但它不起作用:

void testSomething(){
    controller.checkUser()
    assertNull(session.user)
}

如何断言在控制器中设置的会话变量?

1 个答案:

答案 0 :(得分:0)

确保您的测试类扩展 ControllerUnitTestCase 或正在使用测试Mixin。

CUTC提供了几个模拟以便于控制器测试。这是你要做的:

void testSomething(){
    controller.checkUser()
    assertNull(mockSession.user)
}