2009-08-10 8 views
0

私はテストクラスがあります。Rubyアプリケーションでカスタム例外が発生しているかどうかをチェックする方法は?

require File.dirname(__FILE__) + '/../car.rb' 
class CarTest < Test::Unit::TestCase 

    def test_set_color 
     assert_raise InvalidColorEntry "Exception not raised for invalid color" do 
     Car.set_color("not a color") 
     end 
    end 

end 

InvalidColorEntryは、私はそうのようなcar.rbファイルに配置された例外クラスです:私はテストを実行すると

class InvalidColorEntry < Exception; end 
class Car 
    ... 
end 

、ルビーはことを私に語っています"InvalidColorEntry"は未定義のメソッドです。私はそれをやりたくないのですが、例外クラスの定義をテストファイルに含めることさえしようとしました。

テストファイルでカスタム例外定義を認識させるにはどうすればよいですか? Car.set_colorを呼び出すことができるので、明らかにcar.rbファイルが表示されます。

ありがとう!

答えて

1

InvalidColorEntry "Exception not raised for invalid color"を実行したため、InvalidColorEntryがメソッドであると考えられます。これはInvalidColorEntry("Exception not raised for invalid color")として解析されます。

InvalidColorEntryの後にカンマが足りないと思います。

関連する問題