Tag: 存根

RSpec存根方法可以按顺序返回不同的值吗?

我有一个模型家庭与方法location合并其他对象,成员的location输出。 (会员与家庭有关,但在这里并不重要。) 例如,给出 member_1的location =='圣地亚哥(旅行,返回5月15日)' member_2有location =='圣地亚哥' Family.location可能会返回'圣地亚哥(member_1旅行,返回5月15日)'具体是不重要的。 为了简化Family.location的testing,我想存根Member.location。 但是,我需要它返回两个不同的(指定)值,如上例中。 理想情况下,这些将基于member的属性,但只是按顺序返回不同的值是可以的。 有没有办法在RSpec中做到这一点? 可以在每个testing示例中重写Member.location方法,例如 it "when residence is the same" do class Member def location return {:residence=>'Home', :work=>'his_work'} if self.male? return {:residence=>'Home', :work=>'her_work'} end end @family.location[:residence].should == 'Home' end 但我怀疑这是好的做法。 无论如何,当RSpec运行一系列的例子时,它不会恢复原来的类,所以这种覆盖“毒化”后续的例子。 那么,是否有一种方法来让每个调用中的stubbed方法返回不同的指定值?

有人可以解释一下Spock框架testing中的Mock,Stub和Spy之间的区别以及何时使用它们?

我不明白Spocktesting中的Mock,Stub和Spy之间的区别,我一直在网上查看的教程没有详细解释它们。

编程中“存根”是什么意思?

例如,这个引用是什么意思? 与外部API集成几乎是任何现代Web应用程序的保证。 为了有效地testing这种集成,你需要将其存储。 一个好的存根应该很容易创build,并始终与最新的实际API响应保持一致。 在这篇文章中,我们将使用外部API的存根概述testing策略。

什么是“存根”?

所以,继续我的新年决心,让更多的TDD,我现在开始更多地与Rhino Mocks合作 。 我所热衷的一件事是确保我真正理解我正在接触的内容,所以我想检查一下我对目前为止所看到的内容的理解(我认为将它作为一个资源)。 什么是“存根”?

模拟和存根之间有什么区别?

我已经阅读了各种关于嘲笑testing的文章,包括Martin Fowler的Mocks不是Stubs ,但是还是不了解其中的差别。