Как проверить, возникает ли пользовательское исключение в приложении Ruby? - PullRequest
0 голосов
/ 10 августа 2009

У меня есть тестовый класс:

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

Спасибо!

1 Ответ

1 голос
/ 10 августа 2009

Он думает, что InvalidColorEntry должен быть методом, потому что вы делаете InvalidColorEntry "Exception not raised for invalid color", который он анализирует как InvalidColorEntry("Exception not raised for invalid color").

Я думаю, что вы просто пропустили запятую после InvalidColorEntry.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...