【发布时间】:2018-04-12 14:39:31
【问题描述】:
我不是在询问测试替身(模拟)和接收(存根)的定义。我从 SO 那里得到了plenty。我只是不明白为什么需要在测试中。从我正在审查的一个 Rspec 示例中,程序员使用了这个:
it "allows setting responses" do
dbl = double("Chant")
allow(dbl).to receive(:hey!) { "Ho!" }
expect(dbl.hey!).to eq("Ho!")
end
无论我们运行这个特定示例多少次,它总是会通过。它永远不会失败。测试的目的是确定一个例子是通过还是失败。那么,如果它总是会通过,为什么还要有一个双倍呢?
【问题讨论】:
-
你是对的,在这种情况下它没有区别......但是有很多情况下它是有用的
标签: ruby-on-rails ruby unit-testing rspec