我有一个测试课:
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
当我运行测试时,ruby告诉我“ InvalidColorEntry”是未定义的方法。我什至尝试不将异常类定义包含在测试文件中,即使我不想这样做。
如何使测试文件了解自定义异常定义?它显然可以看到car.rb文件,因为它可以调用Car.set_color
谢谢!
最佳答案
它认为InvalidColorEntry应该是一种方法,因为您执行了InvalidColorEntry "Exception not raised for invalid color"
,它将解析为InvalidColorEntry("Exception not raised for invalid color")
。
我认为您在InvalidColorEntry之后只是想念一个逗号。