我有一个测试类:
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
谢谢!
答案 0 :(得分:1)
它认为InvalidColorEntry应该是一个方法,因为你执行InvalidColorEntry "Exception not raised for invalid color"
,它会解析为InvalidColorEntry("Exception not raised for invalid color")
。
我认为你只是在InvalidColorEntry之后错过了一个逗号。