提前感谢您提供的任何帮助。 我有一个方法,在一个以经典重定向结束的控制器内,如下所示:
redirect(action: 'login', params: params)
我想在集成测试中对此进行测试。
对于action
部分,我的操作如下:
assert creditProviderController.response.redirectedUrl.startsWith("/creditProvider/login")
首先,是否有任何更清洁的东西可以避免startsWith()
电话?
然后,我如何测试params
部分?
我一直在环顾四周,找不到这个答案。
祝你今天愉快!
答案 0 :(得分:4)
assert response.redirectedUrl == '/roleClientProfile/create?user.id=1'
答案 1 :(得分:3)
我建议通过扩展ControllerUnitTestCase的单元测试来测试控制器。这为您提供了一种非常干净的方法来测试您对redirect()的调用。例如:
assertEquals("login", redirectArgs.action)
assertNotNull(redirectArgs.params.username)
通过单元测试(尤其是控制器操作中的流逻辑)进行合理测试,并使用集成测试来确保一切可以很好地协同工作并验证系统状态。