gpt4 book ai didi

unit-testing - 声明在 Controller 中设置的 session 变量-Grails测试用例

转载 作者:行者123 更新时间:2023-12-02 14:54:41 25 4
gpt4 key购买 nike

我有一个 Controller 操作来检查条件,并根据条件的结果将字段设置为 session 变量

Controller :

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

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

我像这样尝试过,但是没有用:
void testSomething(){
controller.checkUser()
assertNull(session.user)
}

关于如何声明在 Controller 中设置的 session 变量的任何想法吗?

最佳答案

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

CUTC提供了多种模拟来促进 Controller 测试。您将执行以下操作:

void testSomething(){
controller.checkUser()
assertNull(mockSession.user)
}
  • 这是文件:http://grails.org/doc/1.3.x/api/grails/test/ControllerUnitTestCase.html
  • 如果您使用的是grails 2.0+:http://grails.org/doc/latest/api/grails/test/MvcUnitTestCase.html
  • 关于unit-testing - 声明在 Controller 中设置的 session 变量-Grails测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11729737/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com