gpt4 book ai didi

Grails:使用集成测试测试重定向

转载 作者:行者123 更新时间:2023-12-04 21:23:50 25 4
gpt4 key购买 nike

我正在使用 Grails 1.3.7。我正在尝试在我的集成测试中测试重定向。这是我的 Controller 和方法...

class HomeController {

def design = {
....
if (params.page) {
redirect(uri: "/#/design/${params.page}")
}
else {
redirect(uri: "/#/design")
}
break;
}
}

然而,在我的集成测试中,即使我知道正在进行重定向调用(通过日志验证),对“controller.response.redirectedUrl”的调用也失败了(总是返回 null)。下面的集成测试有什么问题?
class HomeControllerTests extends grails.test.ControllerUnitTestCase {
....

void testHomePageDesign() {
def controller = new HomeController()

// Call action without any parameters
controller.design()

assert controller.response.redirectedUrl != null

assertTrue( responseStr != "" )
}

谢谢, - 戴夫

最佳答案

更改您的 HomeControllerTests 延长 GrailsUnitTestCase 应该解决问题。

class HomeControllerTests extends grails.test.GrailsUnitTestCase {
....
}

生成测试类的各种方法似乎都因扩展的类而异。
create-integration-test => GroovyTestCase
create-unit-test => GrailsUnitTestCase
create-controller => ControllerUnitTestCase

然而,根据 Test section of the Grails User Guide , GrailsUnitTestCase 是测试框架的核心部分,至少在 1.3.7 中,这是测试类的最佳基础。

关于Grails:使用集成测试测试重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7165290/

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