gpt4 book ai didi

ruby - 如何使 .any_instance 成为主题

转载 作者:太空宇宙 更新时间:2023-11-03 16:54:16 24 4
gpt4 key购买 nike

现在我有很多:

it{ ::Api.any_instance.should_receive(...).once; start }

如果我试图让 ::Api.any_instance 成为主题,Rspec 就会窒息,即

subject{ ::Api.any_instance }
it{ should_receive(...).once; start }

有没有办法让这些规范变干?

最佳答案

我认为问题出在规范的设计上。

我的建议是:

describe SomeClass do
let(:object_instance) { described_class.new }

before do
# Put expectations in before block, they shouldn't be a part of text example!
object_instance.should_receive(:something)
end

specify { subject.do_something_else }
end

如果您有更多的期望要满足,您可以将它们全部放入 before block 中,或者只使用不同的 context

如果很多规范看起来很相似,我会选择将其提取到共享示例中。

关于ruby - 如何使 <klass>.any_instance 成为主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13555631/

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