【发布时间】:2012-07-30 21:17:38
【问题描述】:
我有一个控制器动作来检查一个条件并根据条件的结果,它将一个字段设置为会话变量
控制器:
def checkUser={
if(condition: true){
session.user = id
}else{
session.user=null
}
}
现在,在我的测试用例中,如果我必须断言此会话的用户值,我该怎么做?
我是这样尝试的,但是没有用:
void testSomething(){
controller.checkUser()
assertNull(session.user)
}
关于如何断言在控制器中设置的会话变量有什么想法吗?
【问题讨论】:
-
断言在 Java 中默认是不启用的。您需要使用 -ea(或)-enableassertion 参数显式启用它们。
-
我自己没有尝试过,但是在访问参数时,我知道你可以执行 controller.params。如果您执行 assertNull(controller.session.user) 会发生什么??
-
conroller.session.user 不起作用。它抛出异常
标签: unit-testing grails junit