2009-11-11 79 views
-1

嘿,我正在尝试在grails上开发一个示例应用程序。我有一个名为login的动作,除了呈现一个名为login的页面外,它什么也不做。我认为没有必要明确地在操作内部显示任何名为login的视图,因为我的视图名称与操作名称相匹配。如何在Groovy单元测试中声明响应成功

def login = { 

} 

当我关注TDD时,我想断言那个响应是成功的。如何在常规单元测试中做到这一点?

回答

2

你不能单元测试HTTP响应,因为控制器在单元测试中调用时只是一个普通的旧groovy类。您需要使用集成测试(使用MockHttpServletRequest/Response)或使用其中一个功能测试插件:gfunc,webtest,selenium等

应该有很多可以找到集成和功能测试的示例通过谷歌。

+1

Grails用户指南是一个很好的开始。集成测试控制器的示例:http://www.grails.org/doc/latest/guide/9.%20Testing.html#9.2%20Integration%20Testing – miek 2009-12-23 07:51:58