gpt4 book ai didi

unit-testing - Grails Spock 单元测试 - 什么是 "1 *"以及为什么是 "too few invocations"?

转载 作者:行者123 更新时间:2023-12-04 04:18:17 24 4
gpt4 key购买 nike

我在从其他人那里继承的 Controller 的单元测试中看到以下代码:

  when: "When the controller executes a registration"
controller.index()

then: "the signup should show registration again"
1 * controller.cService.getRegions() >> []
1 * controller.dService.chkAvail(_) >> "AVAILABLE"
1 * controller.uService.createUser(_) >> { a-> throw new RuntimeException("Roll me back!")}
1 * controller.pService.registerPayMethod(_) >> { cc-> true }
view == "/signUp/su"

我了解 spock 单元测试的基础知识,但我不了解这些 1 * 行。

我也遇到了多个错误,例如:

junit.framework.AssertionFailedError: Too few invocations for:

1 * controller.cService.getRegions() >> [] (0 invocations)

Unmatched invocations (ordered by similarity):

None

最佳答案

您是在告诉 Spock,所讨论的方法必须恰好调用一次(1 * controller.cService.getRegions() >> [] 表示,getRegions此服务的必须调用一次 (1 *) 并将返回一个空列表 (>> []))。但它没有。这就是错误消息告诉您的内容(0 次调用)。

关于unit-testing - Grails Spock 单元测试 - 什么是 "1 *"以及为什么是 "too few invocations"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28865285/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com