0
我有一個使用自定義驗證器的域類非常複雜;它需要一個單獨的合作者。現在我正在爲它創建一個控制器,但我想模擬關於驗證的部分。我希望能夠知道何時發生某種驗證錯誤,以便控制行爲。如何在域類中進行模擬驗證以進行測試?
例如,我有,
class Person {
static constraint = {
key validator: {
//complex stuff goes here
}
}
}
在我的控制器規範,我希望能夠告訴時,我想驗證通過或失敗。我試過Person.metaClass.validate = { true }
,但它似乎並沒有工作。這就是我的測試代碼的樣子。
void "Test controller when validation passes"() {
when:
controller.json = new Person(...)
controller.doSomething()
then:
//test post condition, etc.
}
如果實在不行,我想的只是嘲諷直接在命令對象,像,
void "Test controller when validation passes"() {
when:
controller.doSomething(Mock(Person))
then:
1 * _.changeState(_)
//test post condition, etc.
}
,但如果我能得到的第一個工作,我寧願它更多。