Я просто целую вечность пытался выяснить, почему мои спецификации проходили изолированно, но при совместном запуске тестов контроллера и lib некоторые спецификации таинственным образом терпели неудачу. Виновник был такой:
В одной спецификации:
describe SomeThing do
CONSTANT_VALUE = "a value"
# ... examples etc ...
end
А в другом:
describe AnotherThing do
CONSTANT_VALUE = "a different value"
# ... the rest is history
end
Значения, которые я назначил этим константам, просачивались между моими спецификациями и вызывали неожиданное поведение. Я должен использовать блок let
для определения констант и т. Д.? Или что-то еще?