在Grails中使用EasyB

时间:2010-10-05 21:23:34

标签: grails easyb

这可能是蹩脚和新手级别的问题之一,但我已经挣扎了一段时间,但它仍然没有用。

我有一个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的说明。

任何人都可以向我解释我做错了吗?

马提亚。

1 个答案:

答案 0 :(得分:0)

哦,我发现它......惯例,惯例,惯例....

命名方案文件HomeController.story强制引擎在范围中包含“controller”变量。不清楚的是为什么我再也不能这样做了......

没关系。完全删除“给定”部分后,它可以正常工作。