0

MyClassというクラスがあり、基本的に次のようなことをしたいとします。

クラスMyClass   
  def initialize(a)
    do_stuff a、4、11   
  終わり

  def do_stuff(a、b、c)
     #..。   
  終わり
終わり


#以下のrspec
MyClass.any_instance.should_receive(:do_stuff).with_the_values(10、
     何でも、何でも)
MyClass.new 10

基本的に、initializeが呼び出されることを確認し、正しい値をに渡しますdo_stuff

4

1 に答える 1

2

誰が誰に何を渡すかを見るのではなく、クラスが正しく動作するかどうかをテストする必要があると思います。

このdo_stuff方法は何らかの副作用をもたらすと思われます。もしそうなら、この副作用があなたが期待するものかどうかを確認してください. このようにして、毎回仕様を書き直す必要なく、クラスの実際の実装を自由に変更できます。

于 2012-06-19T12:31:21.647 に答える