私は次の仕様を持っています:
describe EmailImport do
describe "#format_x_priority" do
specify { EmailImport.format_x_priority('5 (Lowest)').should eq(:low) }
it "should raise an error when wrong argument is passed" do
expect { EmailImport.format_x_priority('5 (Lowest)').to raise_error }
end
end
end
これは合格すべきではありませんよね?どちらも同じコードであり、1回は結果に:low
なり、1回はエラーになります。しかし、興味深いことに、両方とも合格です!私は何が間違っているのですか?
完全を期すために、ここに私のEmailImport.format_x_priority
方法があります:
def self.format_x_priority(priority)
# 1 Highest; 2 High; 3 oder "" normal; 4 low; 5 lowest
case priority
when "1 (Highest)"
Priority::HIGH
when "2 (High)"
Priority::HIGH
when "3 (Middle)"
Priority::MEDIUM
when "4 (Low)"
Priority::LOW
when "5 (Lowest)"
Priority::LOW
when ''
Priority::MEDIUM
else
raise "Invalid value '#{priority}' for argument 'priority'!"
end
end