0
我有一個應該在控制檯中運行的程序。在一個名爲my_program.rb
我:獨立於測試從控制檯運行程序
class MyProgram
end
MyProgram.new.start
我也有一個單獨的my_program_test.rb
,每次我想運行我需要註釋掉MyProgram.new.start
避免運行控制檯程序測試。
有沒有辦法解決這個問題?
我有一個應該在控制檯中運行的程序。在一個名爲my_program.rb
我:獨立於測試從控制檯運行程序
class MyProgram
end
MyProgram.new.start
我也有一個單獨的my_program_test.rb
,每次我想運行我需要註釋掉MyProgram.new.start
避免運行控制檯程序測試。
有沒有辦法解決這個問題?
我不是紅寶石的專家,但我相信你可以使用類似this:
if __FILE__ == $0
MyProgram.new.start
end
使用RSpec你可以將觸發它的測試之前存根start
方法。例如:
before do
allow_any_instance_of(MyProgram).to receive(:start).and_return(true)
end
這很好,謝謝!我會接受你回答一個SO讓我。 – SoSimple
謝謝,很高興我能幫忙! – jeremija