1

おそらく、不自由で初心者レベルの質問の1つになるでしょうが、私はしばらく苦労しており、まだ機能していません.

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

2 番目の部分では、「次に Controller が Hello, world! を表示します。」

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

私は基本的にhttp://grails.org/plugin/easybの指示に従っています。

誰かが私が間違っていることを説明できますか?

マティアス。

4

1 に答える 1

0

ええと、私はそれを見つけました... 慣習、慣習、慣習....

シナリオ ファイルに HomeController.story という名前を付けると、エンジンはスコープに "controller" 変数を含めるようになりました。はっきりしないのは、なぜ私が再びそれを行うことができなかったのかということです...

どうでも。「指定された」部分を完全に削除すると、正常に機能します。

于 2010-10-05T22:02:47.577 に答える