这可能会是一个蹩脚和新手级别的问题,但我已经挣扎了一段时间,它仍然不起作用。
我有一个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在"when No additional parameters are expected“中,我得到了以下错误消息,而不是像预期的那样通过此测试:
[FAILURE: No signature of method: HomeController.index() is applicable for argument types: () values: []]然后是第二部分"then Controller displays,world!“
[FAILURE: No such property: result for class: HomeController]我基本上是按照http://grails.org/plugin/easyb的指示操作的。
有人能给我解释一下我哪里做错了吗?
马蒂亚斯。
发布于 2010-10-06 06:02:48
哦好吧我找到了..。约定,约定,约定……
将场景文件命名为HomeController.story强制引擎在作用域中包含“控制器”变量。但不清楚的是为什么我不能再做一次...
不要紧。在完全删除“给定”部分后,它的工作方式应该是正常的。
https://stackoverflow.com/questions/3867849
复制相似问题