2

私はCinch (IRC ボット) 用のプラグインを作成しており、そのための RSpec テストを作成しようとしています。

しかし、私は RSpec を理解しようとしており、このプラグインの外部依存関係をモックアウトしています。今のところ、2 つの異なることをテストしたいと思います。それは、人に挨拶することと、誰に挨拶したかを追跡することです。

だから私はメソッドを持ってsay_helloいます、それは を取るCinch::Message. この特定のクラスをモックする最も簡単な方法は何ですか? 私は Mockito と Java に慣れているので、特定のクラスのモックを作成することに慣れています。

のモックを作成するにはどうすればよいCinch::Messageですか? 私の最初のテストでは、replyメソッドがそのメッセージで呼び出されることをアサートしたいと思います。Cinch::Message次の例では、メッセージとのやり取りではなく、クラスの追跡のみに関心があるため、通常どおりに応答するようにします。

私は RSpec を使い始めたばかりなので、何か基本的なことが抜けているかもしれません。モックを使用する必要がありますか?スタブ?

ありがとう!

4

1 に答える 1

3

まず第一に、ドキュメントは良い出発点になります。https ://www.relishapp.com/rspec/rspec-mocks/v/2-11/docs/message-expectations を参照してください。

..そして、これはあなたのテストがどのように見えるかです:

it 'should call #reply on the message'
  message = double('cinch message')
  message.should_receive(:reply)
  object_under_test.say_hello(message)
end
于 2012-07-29T18:02:48.407 に答える