我有一个应该在控制台中运行的程序。在名为my_program.rb
的文件中,我有:
class MyProgram
end
MyProgram.new.start
我还有一个单独的my_program_test.rb
,每次我想运行我需要注释MyProgram.new.start
的测试,以避免在控制台中运行程序。
有什么方法吗?
答案 0 :(得分:1)
我不是红宝石专家,但我相信你可以使用类似this的东西:
if __FILE__ == $0
MyProgram.new.start
end
答案 1 :(得分:0)
使用RSpec,您可以在触发它的测试之前存根start
方法。类似的东西:
before do
allow_any_instance_of(MyProgram).to receive(:start).and_return(true)
end