我怎样才能摆脱“没有这样的财产”的困扰?当测试访问 Item.constraints.xyz 的类时?

发布于 2024-11-09 11:29:31 字数 469 浏览 0 评论 0原文

单元测试中返回以下星座: 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

拧巴小姐 2024-11-16 11:29:31

通过 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} ] ] ]

栖竹 2024-11-16 11:29:31

如果您的测试类扩展了GrailUnitTestCase,请在测试执行之前调用mockForConstraintsTests(Item)。如果您无法扩展此类,请尝试在测试执行之前调用 grails.test.MockUtils.prepareForConstraintsTests(Item)

If your test class extends GrailUnitTestCase, call mockForConstraintsTests(Item) before the test executes. If you can't extend this class, try invoking grails.test.MockUtils.prepareForConstraintsTests(Item) before the test executes.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文