我是Rspec的新手。我正在为控制器编写规范。是否有可能用规范捕获代码中的语法错误,即我想用Rspec编写用于处理控制器语法错误的案例。提前谢谢。
答案 0 :(得分:1)
理论上,您可以将一段代码作为字符串传递给eval
或load
一个包含语法错误的特定文件,并使用rescue Exception => e
来拯救那些。
但我可以问为什么?
答案 1 :(得分:0)
像下面这样使用eval。
describe "Backreferences to Non-Existent Capturing Groups" do
describe '/(a)b\1/' do
it { expect { eval '"aba".match(/(a)\1/)' }.to_not raise_error }
end
describe '/(a)b\2/' do
it { expect { eval '"aba".match(/(a)\2/)' }.to raise_error(SyntaxError) }
end
end