【发布时间】:2013-04-06 16:41:05
【问题描述】:
我正在为 grails 中的控制器进行集成测试。我需要在测试用例中传递查询字符串,并且我将它作为 controller.request.queryString 传递。
我的测试失败了。它给了我null value 用于查询字符串参数。
控制器 - UserExController
Foll 是我正在进行集成测试的操作。在此我正在读取查询字符串参数“uid”并使用 GORM 方法获取 userInstance
def getUser() {
//reading the query string parameter 'uid'
def userId = request.getParameter("uid")
User user = User.findByUsername(userId)
render view:'edit', model:[userInstance:user]
}
这是对上述书面动作的测试。在此我传递查询字符串参数并调用动作
class UserInstanceTests extends GroovyTestCase {
@Test
void testPerfSummaryApi() {
def userExController=new UserExController()
userExController.request.queryString='uid=rp123'
userExController.getUser()
def model = userExController.modelAndView.model.userInstance
assertNotNull model
}
}
我在后续电话中收到groovy.lang.MissingMethod.Exception:
User.findByUsername(userId) //userId is comming null
【问题讨论】:
标签: grails request.querystring integration-testing