单元测试中的以下星座返回:No such property: title for class: myproject.Item Possible solutions: title
ItemController.groovy
def add = {
[itemInstance: new Item(), titleMin: Item.constraints.title.size.min() ]
}
ItemControllerSpec.groovy
mockDomain Item
def result = controller.add()
如何模拟约束线?
注意:我只是希望测试运行而不是因为该行而失败。
答案 0 :(得分:2)
通过metaClass。在setUp()
中,写下以下内容:
Item.metaClass.'static'.constraints = [ title: [ size: [ min: {5}, max: {30} ] ] ]
答案 1 :(得分:1)
如果您的测试类扩展GrailUnitTestCase
,请在测试执行前调用mockForConstraintsTests(Item)
。如果您无法扩展此类,请在测试执行前尝试调用grails.test.MockUtils.prepareForConstraintsTests(Item)
。