我怎样才能摆脱“没有这样的财产”的困扰?当测试访问 Item.constraints.xyz 的类时?
单元测试中返回以下星座: No such property: title for class: myproject.Item 可能的解决方案:title
ItemController.groovy
def add = {
[itemInstance: new Item(), titleMin: Item.constraints.title.size.min() ]
}
ItemControllerSpec.groovy >
mockDomain Item
def result = controller.add()
如何模拟该约束线?
注意:我只想运行测试,而不是由于该线而失败。
The following constellation in a unit test returns: 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()
How can I mock out that constraints line?
Note: I just want the test to run instead of failing due to that line.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
通过 metaClass。在
setUp()
中,编写如下内容:Item.metaClass.'static'.constraints = [ 标题:[ 大小:[ 最小值:{5},最大值:{30} ] ] ]
Via metaClass. In
setUp()
, write something like:Item.metaClass.'static'.constraints = [ title: [ size: [ min: {5}, max: {30} ] ] ]
如果您的测试类扩展了
GrailUnitTestCase
,请在测试执行之前调用mockForConstraintsTests(Item)
。如果您无法扩展此类,请尝试在测试执行之前调用grails.test.MockUtils.prepareForConstraintsTests(Item)
。If your test class extends
GrailUnitTestCase
, callmockForConstraintsTests(Item)
before the test executes. If you can't extend this class, try invokinggrails.test.MockUtils.prepareForConstraintsTests(Item)
before the test executes.