1

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

控制器:

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

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

我像这样尝试过,但没有奏效:

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

关于如何断言在控制器中设置的会话变量的任何想法?

4

1 回答 1

0

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

CUTC 提供了几个模拟来促进控制器测试。这是你要做的:

void testSomething(){
    controller.checkUser()
    assertNull(mockSession.user)
}
于 2012-07-31T01:16:59.770 回答