RSpec не может найти вложенный форматтер
Я пытаюсь запустить rspec
только для Ruby (not Rails), для простого файла Ruby. Я следую Tut + TDD Testing с Ruby.
У меня есть каталог competition
с папкой lib
и spec
.
├── lib
│ ├── competition.rb
│ └── team.rb
└── spec
└── competition_spec.rb
Когда я запустил rspec
, я получил эту ошибку. Я мог бы поклясться в работе rspec раньше. Я не знаю, что произошло.
competition :> rspec spec
/Users/akh88/.rvm/gems/ruby-1.9.3-p547/gems/rspec-core-> 3.0.2/lib/rspec/core/formatters.rb:167:in `find_formatter': Formatter 'nested' unknown - maybe you meant 'documentation' or 'progress'?. (ArgumentError)
Мой competition_spec.rb
require_relative "../lib/competiiton.rb"
require_relative "../lib/team.rb"
describe Competition do
let(:competition) {Competition.new}
let(:team) {Team.new}
context "having no questions" do
before { competition.questions = [] }
it "doesn't accept any teams" do
expect do
team.enter_competition(competition)
end.to raise_error Competition::Closed
end
end
end
Моя rvm
версия Ruby по умолчанию - 1.9.1 на Mac OSX 10.9.4.
Ответы
Ответ 1
Форматировщик nested
использовался в RSpec 1. Это было переименовано в documentation
в RSpec 2.
Возможно, вы указали nested
в командной строке или в файле .rspec
? Затем вам нужно указать --format documentation
.
Установили ли вы config.formatter = nested
где-нибудь, возможно, ваш файл spec_helper.rb
? Удалите его.
Вы могли бы обновить жемчужину RSpec от v1 (команда для запуска тестов изменилась с spec
на rspec
, хотя так трудно пропустить). Вы можете проверить версии с помощью gem list rspec
.
В качестве альтернативы вам может не хватать загрузку настраиваемого форматирования, с которым вы звонили nested
.
Ответ 2
В моем файле .rspec было
--color
и я все еще получал эту ошибку.
Я явно установил его в
--format documentation --color
И теперь это работает.