Ruby Unit test - переменная экземпляра, объявленная в setUp, принимает значение nil - PullRequest
0 голосов
/ 09 октября 2010

Здравствуйте, у меня проблемы с модульным тестированием на Ruby, я новичок в этом, поэтому некоторая помощь будет прекрасна

class TestItem < Test::Unit::TestCase
 def setUp
  **@item**=Item.new('Food','Burger',120)
 end
 def testGetType
  assert_equal(**@item**.getType,'Food')
 end
end

Здесь значение переменной экземпляра @item принимает nil когда я объявляю это в setUp () и использую его в тестовых функциях!Поэтому я получаю сообщение об ошибке, как никакой метод 'getType' для nil-класса

Но когда я использую его напрямую, например assert_equal (Item.new ('Food', 'Burger', 120) .getType, 'Food'), работает нормально.

Пожалуйста, укажите на мои ошибки, заранее спасибо

1 Ответ

2 голосов
/ 09 октября 2010

Имя метода setup - setup, а не setUp.На самом деле, вы никогда не найдете метод с именем setUp в Ruby, поскольку стандартный стиль Ruby для именования методов - snake_case, а не camelCase.(То же самое относится к getType и testGetType, кстати. Это должны быть get_type и test_get_type. На самом деле, в Ruby геттеры не имеют префикса get, поэтому на самом деле это должно быть type и test_type. Но обратите внимание, что в Ruby все объекты уже имеют метод type, хотя это устарело.)

...