2012-06-19 16 views
0

比方說,我有一個名爲MyClass的類,基本上我想要做這樣的事情:如何查看RSpec獲取哪些參數?

 
class MyClass 
    def initialize(a) 
    do_stuff a, 4, 11 
    end 

    def do_stuff(a,b,c) 
    # ... 
    end 
end 


# rspec below 
MyClass.any_instance.should_receive(:do_stuff).with_the_values(10, 
    anything, anything) 
MyClass.new 10 

基本上,我想檢查初始化會呼籲,並將正確的值傳遞給do_stuff

回答

2

我認爲你應該測試你的班級行爲是否正確,而不是看誰通過了誰。我想do_stuff方法應該產生某種副作用。如果是這樣,那麼檢查這種副作用是否是你期望的副作用。通過這種方式,您可以自由更改課程的實際實施,而無需每次重寫您的規格。