我想提出2例外,當我的變數之一是大於13或小於1 也我想提出例外,如果我的卡的類型不是其中一個定義的一個。 這是我的代碼:紅寶石不會提出正確的異常
require "../lib/suit"
class Card
attr_reader :suit,:number
def initialize(suit,number)
raise "CardNumberNotValid" if 1>number>13
raise "SuitNotValid" if suit!=Suit::CLUB or suit!=Suit::HEART or suit!=Suit::DIAMOND or suit!=Suit::SPADE
@suit=suit
@number=number
end
end
,這是我的測試:
require "rspec"
require "../lib/suit"
require "../lib/card"
describe Card do
it "should check if card number is between 1 and 13" do
expect{Card.new(Suit::CLUB,14)}.to raise_error("CardNumberNotValid")
end
end
結果如下:
Failures:
1) Card should check if card number is between 1 and 13 Failure/Error: expect{Card.new(Suit::CLUB,14)}.to raise_error("CardNumberNotValid") expected Exception with "CardNumberNotValid", got #' for false:FalseClass> # ./card_spec.rb:8
Finished in 0.00064 seconds 1 example, 1 failure
Failed examples:
rspec ./card_spec.rb:7 # Card should check if card number is between 1 and 13
可以請你幫忙嗎?
謝謝,我沒有注意到:)我是新來的Ruby – 2012-02-09 20:38:16