题
我是RSPEC的新手,当我编写规格测试时,我遇到了一个问题,即使返回值与我的期望中指定的值不同,但规格测试正在传递。例如:
@q= Query.new
@q.should_receive(:number_to_name).with(0).and_return("no such boro")
@q.number_to_name(0)
即使QUERY.NUMBER_TO_NAME在我使用0时都返回另一个值。
解决方案
should_receive
是RSPEC嘲笑工具的一部分。
@q.should_receive(:number_to_name).with(0).and_return("no such boro")
你在嘲笑 number_to_name
上 @q
, ,设定一个期望 number_to_name
将被称为 0
模拟将返回 "no such boro"
. 。执行 @q.number_to_name(0)
然后通过致电模拟来满足期望。您的实施 number_to_name
从未被调用过,也没有接受测试。
不隶属于 StackOverflow