gpt4 book ai didi

ruby-on-rails - Rspec - 结合 Expect_any_instance_of 和接收计数

转载 作者:行者123 更新时间:2023-12-03 07:47:31 26 4
gpt4 key购买 nike

我需要验证我的类的任何实例是否接收到某种方法,但我不关心是否有许多实例接收到它(它们应该接收到)。

我尝试过这样的:

expect_any_instance_of(MyClass).to receive(:my_method).at_least(:once)

但显然,它只允许单个实例多次接收该方法,而不允许不同实例多次接收该方法。

有办法实现吗?

最佳答案

如果您需要忍受代码味道,this rspec-mocks Github issue建议按照以下思路解决方案:

receive_count = 0
allow_any_instance_of(MyClass).to receive(:my_method) { receive_count += 1 }

# Code to test here.

expect(receive_count).to be > 0

关于ruby-on-rails - Rspec - 结合 Expect_any_instance_of 和接收计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35321368/

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