Основываясь на обновленной информации в вашем вопросе, я думаю, что вижу проблему (поэтому я отправляю другой ответ, поскольку он полностью отличается от моего другого).Похоже, что Cucumber пытается создать экземпляр класса ActiveRecord, поэтому я подозреваю, что в вашем проекте где-то есть модель с именем «Progress», которую Cucumber пытается создать вместо фактического форматера.
Я смогчтобы воспроизвести вашу проблему (достаточно близко, во всяком случае), добавив этот класс в папку 'support':
class Progress
def initialize
raise "I don't exist!"
end
end
В соответствии с документами, вы должны быть в состоянии указать здесь полное имя класса, т.е. --format Cucumber::Formatter::Progress
, чтобы заставить Cucumber использовать свой собственный форматер.Тем не менее, я попробовал это, и это все еще не работает, похоже, есть ошибка в том, как Cucumber разрешает полное имя.
Я смог обойти это, добавив эту строку в мой env.rb
file:
require 'cucumber/formatter/progress'
, что позволило мне успешно выполнить cucumber --format progress
.
Я думаю, что, поскольку env.rb
выполняется перед любым другим кодом, то класс Progress
Cucumberбудет первым найденным при создании форматера.