flexmock
を使ったモック
以下のシナリオに従ってRSpecをflexmock
を使用するように設定します。
メッセージの期待値を満たす場合
次の内容で「example_spec.rb」という名前のファイルを作成します。
RSpec.configure do |config|
config.mock_with :flexmock
end
RSpec.describe "mocking with Flexmock" do
it "passes when it should" do
receiver = flexmock('receiver')
receiver.should_receive(:message).once
receiver.message
end
end
rspec example_spec.rb
を実行すると、
すべての例がパスする はずです。
メッセージの期待値を満たさない場合
次の内容で「example_spec.rb」という名前のファイルを作成します。
RSpec.configure do |config|
config.mock_with :flexmock
end
RSpec.describe "mocking with Flexmock" do
it "fails when it should" do
receiver = flexmock('receiver')
receiver.should_receive(:message).once
end
end