【发布时间】:2018-06-23 22:44:22
【问题描述】:
我有一个非常简单的方法。它调用另一个软删除 API 密钥的方法,然后调用另一个方法创建一个新的并返回它。
Test 也在下面,它只是检查两个方法是否被正确调用。但是,尽管这两种方法仍然出现 0 调用错误。是什么导致了这个问题?
AuthApiKeyPair updateApiKeyPair(AuthApiKeyPair apiKeyPair, Boolean createNewKey) {
AuthApiKeyPair newKeyPair
if (createNewKey) {
deleteApiKeyPair(apiKeyPair)
//The key will be created with the same info as the previous key.
newKeyPair = createApiKeyPair(apiKeyPair.label, apiKeyPair.accountMode, apiKeyPair.source)
}
newKeyPair
}
测试:
def "should soft delete key pair and create new one"() {
setup:
AuthApiKeyPair apiKeyPair = AuthApiKeyPair.build(acquirerId: 123, source: PaymentSource.BOARDING_API, label: 'Boarding API key')
when:
service.updateApiKeyPair(apiKeyPair, true)
then:
1 * service.deleteApiKeyPair(apiKeyPair)
1 * service.createApiKeyPair(apiKeyPair.label, apiKeyPair.accountMode, apiKeyPair.source)
}
【问题讨论】:
-
你想知道为什么会发生错误,但是你既没有发布错误信息,也没有发布关键元素
service的定义。信息隐藏使这个问题成为一个问答节目,你期待帮助的人只能推测。所以请更新问题,至少提供service的定义。
标签: unit-testing grails groovy spock