2011-03-14 5 views
1

特定のテストでは、クラスメソッドの戻り値を変更する必要があります。Mochaでクラスメソッドを取り消す

MyClass.expects(:method).returns(:myvalue)を呼び出して正しい動作を得ることができます。どのように私は停止することができます一度、私はテストを終えた?

Mochaにはunstubメソッドがありますが、クラスメソッドではなくインスタンスメソッドでのみ動作するようです。

答えて

1

使用しているモカのバージョン番号は?

これはMRI /モカ0.9.12で動作します。

class T 
    def self.hello 
    "hi" 
    end 
end 

T.hello # => "hi" 
T.expects(:hello).returns("hello") 
T.hello # => "hello" 
T.unstub(:hello) 
T.hello # => "hi" 
T.expects(:hi).returns("world") 
T.hi # => "world" 
T.unstub(:hi) 
T.hi # => NoMethodError: undefined method .... 
+0

トリックです:私はモカ-0.9.8を使用しています。私は0.9.12ドキュメントを誤って読んで、それらがインスタンスのみであることを意味し、エラーメッセージをその確認として誤解しました。ありがとう。 –

関連する問題