2010-10-05 45 views
0

這可能是一個跛腳和新手級別的問題,但我一直在努力,但它仍然無法正常工作。在Grails中使用EasyB

我有一個HomeController的:

package example 

class HomeController { 

    def index = { 
     [ message: "Hello, world!" ] 
    } 
} 

現在我已經安裝了easyb插件:

grails install-plugin easyb 

我還創建了一個基本的故事該控制器(在 「測試/單元」 文件夾中):

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: []] 

,然後在「,則控制器顯示您好第二部分,世界!」

[FAILURE: No such property: result for class: HomeController] 

我基本上按照http://grails.org/plugin/easyb的指示。

任何人都可以向我解釋我做錯了什麼?

Matthias。

+0

我使用grails 1.2.4和1.3.5爲這個萬一有人想知道... – 2010-10-05 21:31:19

回答

0

噢,我發現它...約定,約定,約定....

命名場景文件HomeController.story被迫發動機包括在範圍「控制器」變量。但是有什麼不明確的是爲什麼我不能再這樣做......

沒關係。完全刪除「給定」部分後,它應該可以正常工作。