我是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 从未被调用过,也没有接受测试。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top