这可能是蹩脚和新手级别的问题之一,但我已经挣扎了一段时间,但它仍然没有用。
我有一个HomeController:
package example
class HomeController {
def index = {
[ message: "Hello, world!" ]
}
}
现在我已经安装了easyb插件:
grails install-plugin easyb
我还为这个控制器创建了一个基本故事(在“test / unit”文件夹中):
scenario "Should return 'Hello, world!' message", {
given "Controller is instantiated", {
mockController HomeController
controller = new HomeController()
}
when "Controller received request for index action"
and "No additional parameters are expected", {
result = controller.index()
}
then "Controller displays Hello, world!", {
result.message.shouldBe "Hello, world!"
}
}
当我运行easyb测试时
grails test-app unit:easyb
而不是这个测试传递,因为它应该在“当没有预期的附加参数时”得到以下错误消息:
[FAILURE: No signature of method: HomeController.index() is applicable for argument types: () values: []]
然后在第二部分“然后控制器显示Hello,world!”
[FAILURE: No such property: result for class: HomeController]
我基本上遵循http://grails.org/plugin/easyb的说明。
任何人都可以向我解释我做错了吗?
马提亚。
答案 0 :(得分:0)
哦,我发现它......惯例,惯例,惯例....
命名方案文件HomeController.story强制引擎在范围中包含“controller”变量。不清楚的是为什么我再也不能这样做了......
没关系。完全删除“给定”部分后,它可以正常工作。