Ruby RSpec:模拟、存根和验证
我正在为(IRC机器人)编写一个插件,并尝试为它编写一些RSpec测试 然而,我正试图掌握RSpec,并模拟出这个插件的外部依赖性。现在,我想测试两种不同的东西——它向人们打招呼,并且跟踪向谁打招呼 所以我有一个方法,Ruby RSpec:模拟、存根和验证,ruby,testing,rspec,tdd,rspec-mocks,Ruby,Testing,Rspec,Tdd,Rspec Mocks,我正在为(IRC机器人)编写一个插件,并尝试为它编写一些RSpec测试 然而,我正试图掌握RSpec,并模拟出这个插件的外部依赖性。现在,我想测试两种不同的东西——它向人们打招呼,并且跟踪向谁打招呼 所以我有一个方法,say_hello,它接受一个Cinch::Message。模仿这门课最简单的方法是什么?我习惯于Mockito和Java,所以我习惯于对特定类进行模拟 我怎样才能模仿Cinch::Message?在我的第一个测试中,我想断言对该消息调用了reply方法。在下一个示例中,我只希望它
say_hello
,它接受一个Cinch::Message
。模仿这门课最简单的方法是什么?我习惯于Mockito和Java,所以我习惯于对特定类进行模拟
我怎样才能模仿Cinch::Message
?在我的第一个测试中,我想断言对该消息调用了reply
方法。在下一个示例中,我只希望它像Cinch::Message
那样响应,因为我只关心类的跟踪,而不关心与消息的交互
我刚开始学RSpec,所以可能我遗漏了一些基本的东西。我应该用模拟的吗?存根
谢谢 首先,文档将是一个很好的起点,请参见: ..这就是你的测试结果:
it 'should call #reply on the message'
message = double('cinch message')
message.should_receive(:reply)
object_under_test.say_hello(message)
end