本文介绍了存根和 rspec 旧语法的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在编写一些代码并使用 rspec,但收到一个警告,提示该语法很旧,我无法弄清楚我应该如何编写它?
I am writing some code and using rspec but received a warning that the syntax is old and i can't quite figure out how i should be writing it instead?
it "should calculate the value correctly" do
mock_cards = [Card.new(:clubs, 5), Card.new(:diamonds, 10)]
hand = Hand.new
hand.stub(:cards) { cards } #stub out cards and have it return cards
expect(hand.value).to eq (15)
end
错误信息如下:不推荐使用来自 rspec-mocks 的旧 :should
语法的 stub
而没有显式启用该语法.使用新的 :expect
语法或显式启用 :should
代替.
The error message is as follows: Using stub
from rspec-mocks' old :should
syntax without explicitly enabling the syntax is deprecated. Use the new :expect
syntax or explicitly enable :should
instead.
推荐答案
改为这样:
allow(hand).to receive(:cards) { cards }
https://github.com/rspec/rspec-mocks#method-stubs
这篇关于存根和 rspec 旧语法的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!