gpt4 book ai didi

ruby - Minitest:没有更多可用的期望

转载 作者:数据小太阳 更新时间:2023-10-29 08:59:41 27 4
gpt4 key购买 nike

我使用 minitest 为我的网络项目编写测试。
我有一个模拟对象,模拟了 3 个方法。该对象表示具有多个属性的数据库实体(hanami 模型)。现在,如果我多次为一个属性调用“getter”,我会得到一个 MockExpectationError:没有更多期望可用于属性。
在不创建变量来保存返回数据的情况下如何处理这个问题?
以下是我如何设置此方法:

user_mock = Minitest::Mock.new
user_mock.expect :is_allowed?, true, [String, String]
user_mock.expect :ad_login, 'somestring'
user_mock.expect :id, 2

最佳答案

只需向您多次调用的函数添加一些expects

说是

user_mock.expect :is_allowed?, true, [String, String]

您可以添加更多期望,甚至可以在每次调用中更改返回值或期望参数。因此,如果您想调用它 3 次,只需再添加 2 次,这样您就会得到:

user_mock = Minitest::Mock.new
user_mock.expect :is_allowed?, true, [String, String]
user_mock.expect :is_allowed?, false, [String, String]
user_mock.expect :is_allowed?, true, [String, String]
user_mock.expect :ad_login, 'somestring'
user_mock.expect :id, 2

值将按照您定义的相同顺序返回。

关于ruby - Minitest:没有更多可用的期望,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39446671/

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