gpt4 book ai didi

groovy - 使用 Spock 在多个返回结果中抛出 IOException

转载 作者:行者123 更新时间:2023-12-01 13:48:59 25 4
gpt4 key购买 nike

我正在测试错误处理。我要第一个电话mockedObject.foo()抛出一个新的 IOException,第二个返回 bar。我尝试了以下代码,

mockedObject.foo() >>> [{throw new IOException()}, bar]

但是,当我运行测试时,我收到一个错误,指出无法将闭包转换为 Bar,

FooSpec$_$spock_feature_0_1_closure2 cannot be cast to Bar



我如何用 Spock 模拟这种行为?

编辑:在看到 tim_yates 引用的文档后,我只是将测试更改为,
mockedObject.foo() >>> firstBar >> {throw new IOException()} >> secondBar

这足以测试我需要测试的内容。下面的代码抛出了相同的异常,所以我猜 Spock 正在根据第一个对象返回设置模拟方法的返回类型。
mockedObject.foo() >>> {throw new IOException()} >> secondBar

最佳答案

你应该能够做到:

mockedObject.foo() >>> {throw new IOException()} >> bar

( See here in the documentation )

关于groovy - 使用 Spock 在多个返回结果中抛出 IOException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33372706/

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