2014-01-29 129 views
0

我目前正在嘗試使用Spock框架在Grails中測試領域模型的約束,我遇到了一些問題。所以,我有以下的域模型的各種約束條件:Grails Spock單元測試一直失敗?

然後,我有這個測試應該能夠測試每個字段約束之一的時間和返回預期的結果:

@Unroll("test profile all constraints #field is #error") 
    def "test profile all constraints"() { 
     when: 
     def newObj = new Profile("$field": val) 

     then: 
     validateConstraints(newObj, field, error) 

     where: 
     error     | field  | val 
     'blank'    | 'phoneNo' | '447897654321' 
     'maxSize'    | 'phoneNo' | '123456789012' 
     'matches'    | 'phoneNo' | getPhoneNumber(true) 

    } 

然而,當我運行測試說電話號碼字段的最大尺寸約束,並傳遞一個小於可用的最大大小的值我期望此測試通過,但它失敗,實際上所有的測試失敗,我不確定爲什麼我是使用這個框架的新手。我非常感謝這方面的幫助。

在此先感謝

+1

域類中沒有'mobileNo'域。測試不應該在數據網格中使用'phoneNo'作爲字段? – dmahapatro

+0

對不起,我必須輸入代碼,這是一個錯字。 – user723858

+0

maxsize應該是maxSize(注意大寫S) –

回答

0

我已經設法解決此問題。

該問題與嘲笑約束有關,我嘲笑我想要做的測試的錯誤約束。

感謝您的幫助