私はGrails/Groovy newbです。私はGroovyに1つか2つのスクリプトを書きましたが、テストはしません。私の背景はJavaです。Grails 2.3.9でモックフィールドをモックするにはどうしたらいいですか?
プロジェクトは、Java 8と最新のjar用に更新したいテストハーネスの古くからの部分です。
私はこれを読んできました: http://docs.grails.org/2.3.9/guide/testing.html ...しかし、私は理解できません。私が修正しようとしているテストは、ヌル能力に関連するエラーで応答することです。
テストは次のようになります
@TestFor(SomethingController)
@Mock(Something)
class SomethingControllerTests {
...
void testDelete() {
controller.delete()
assert flash.message != null
assert response.redirectedUrl == '/somethingPills/list'
response.reset()
populateValidParams(params)
def SomethingPills = new SomethingPills(params)
def saveValueReturned = SomethingPills.save()
assert saveValueReturned != null
assert SomethingPills.count() == 1
params.id = SomethingPills.id
controller.delete()
assert SomethingPills.count() == 0
assert SomethingPills.get(somethingPills.id) == null
assert response.redirectedUrl == '/somethingPills/list'
}
}
結果は例外が保存が失敗したことを示すassert saveValueReturned != null
ラインで実行チャックされることです。デバッグの実行中にSomething
モックを調べると、エラーフィールドを除いてすべてのフィールドがヌルであることがわかります。 errorsフィールドには、いくつかのフィールドに関連するnullablleエラーがリストされます。明らかに私がしなければならないことは、これらを擬似的に設定することです。私が必要とするのは、それを行う方法の手がかりです。
はい。実際、populateValidParamsメソッドは空です。私が正しく理解しているならば、私がしなければならないことは、それに適切な値を設定することだけです。 – user447607
OK、私は以前これをやろうとしていましたが、うまくいきませんでした。今私は理由を理解する。満たすべき制約がある。ちょうどそれらについて学んだ。 – user447607
これはうまくいっていることを知ってうれしいです。 – elixir