我正在爲grails中的控制器進行集成測試。我需要在測試用例中傳遞查詢字符串,並且我將它傳遞爲controller.request.queryString
。grails集成測試:查詢字符串參數爲空
我的測試失敗了。它爲查詢字符串參數提供null value
。
控制器 - UserExController
FOLL是我正在做整合testing.In這個我在讀書的查詢字符串參數「UID」和獲得userInstance使用GORM方法
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
在FOLL電話:
User.findByUsername(userId) //userId is comming null
感謝您的回覆,但將userExController.request.queryString ='uid = rp123'更改爲userExController.params.uid ='rp123'不會改變任何內容。錯誤仍然存在。控制器代碼工作正常,爲什麼要更改控制器?我不認爲有必要改變已經運行的代碼來進行集成測試。 – 2013-04-06 18:02:06