0
我試圖記錄如果有人試圖訪問不存在的模塊內的常量會發生什麼。例如,考慮該模塊:如何期待在RSpec測試中的「未初始化的常量」
module Enum
GOOD = "good"
BAD = "bad"
end
訪問枚舉:: GOOD是好的,但枚舉:: MAYBE將拋出一個NameError。我發現在測試表明這一點的唯一方法是搶救的錯誤,但我真正喜歡的是期待它:
describe Enum do
it "finds valid values" do
expect(Enum::GOOD).to eq("good")
expect(Enum::BAD).to eq("bad")
end
context "bad values throw NameError" do
it "allows me to test using rescue" do
begin
Enum::NOT_VALID
fail "should have raised error"
rescue NameError
end
end
it "does not allow me to expect a raised error" do
expect(Enum::NOT_VALID).to raise_error(NameError)
end
end
end
使用救援條款我唯一/最好在這裏的選擇嗎?請記住,我並不是真的想要實現一個枚舉,而是試圖記錄當你嘗試訪問一個不存在的模塊中的常量時會發生什麼。
我失蹤究竟是什麼!謝謝! –