私の変数のうちの1つが13より大きいか1より小さい場合に例外を発生させようとしている カードの型が1でない場合、例外を発生させたい定義されたもの。 これは私のコードです:Rubyで正しい例外が発生しない
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
あなたが助けてくださいすることができますか?
おかげで、私はルビーに新たなんだ:)ことに気付きませんでした –