2015-11-24 69 views
0

我有一個應該在控制檯中運行的程序。在一個名爲my_program.rb我:獨立於測試從控制檯運行程序

class MyProgram 
end 
MyProgram.new.start 

我也有一個單獨的my_program_test.rb,每次我想運行我需要註釋掉MyProgram.new.start避免運行控制檯程序測試。

有沒有辦法解決這個問題?

回答

1

我不是紅寶石的專家,但我相信你可以使用類似this

if __FILE__ == $0 
    MyProgram.new.start 
end 
+0

這很好,謝謝!我會接受你回答一個SO讓我。 – SoSimple

+0

謝謝,很高興我能幫忙! – jeremija

0

使用RSpec你可以將觸發它的測試之前存根start方法。例如:

before do 
    allow_any_instance_of(MyProgram).to receive(:start).and_return(true) 
end 
相關問題