В классе под названием «Качество» определены следующие константы:
class Quality < ActiveRecord::Base
[validations excluded in this example]
NEW = Quality.find_by_name("New")
LGT = Quality.find_by_name("Light use")
MED = Quality.find_by_name("Medium use")
HVY = Quality.find_by_name("Heavy use")
SCR = Quality.find_by_name("Scrap")
ANY = Quality.find_by_name("Any")
end
При выполнении моих модульных тестов все эти константы равны нулю.Зачем?Я уверен, что они не равны нулю во время производства / разработки, так как код, который использует их, похоже, работает в моей среде dev / prod.
Я установил фиксаторы для этих записей, поэтому я ожидаю постоянной инициализацииработать.Моя привязка к качествам приведена ниже.Эти приборы находятся в файле по адресу 'test / fixtures / quality.yml'
any:
value: 0
name: Any
extended_name: /all
new:
value: 5
name: New
extended_name: (or like new)
lgt:
value: 4
name: Light use
extended_name: (cosmetic damange only)
med:
value: 3
name: Medium use
extended_name: (some functional damange)
hvy:
value: 2
name: Heavy use
extended_name: (needs work)
scr:
value: 1
name: Scrap
extended_name: (only good for parts)
Наконец, вот мой модульный тест, который завершается с ошибкой 'Expected not nil'
test "all constant qualities are not nil" do
assert_not_nil Quality::ANY
assert_not_nil Quality::NEW
assert_not_nil Quality::LGT
assert_not_nil Quality::MED
assert_not_nil Quality::HVY
assert_not_nil Quality::SCR
end