我正在尝试仅针对Ruby(而不是Rails)运行rspec
,以获取简单的Ruby文件。我正在使用Ruby进行Tut + TDD测试。
我有一个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版本在Mac OSX 10.9.4上为1.9.1。
答案 0 :(得分:23)
RSpec 1中使用了nested
格式化程序。在RSpec 2中将其重命名为documentation
。
也许您在命令行或nested
文件中指定了.rspec
?然后,您需要指定--format documentation
。
您是否在某处设置了config.formatter = nested
,可能是您的spec_helper.rb
文件?删除它。
您可以从v1更新RSpec gem(运行测试的命令从spec
更改为rspec
,但这样很难错过)。您可以使用gem list rspec
检查版本。
或者,您可能会错过恰好致电nested
的{{3}}的负担。
答案 1 :(得分:10)
我的.rspec文件只有
--color
我仍然收到此错误。
我明确地将其设置为
--format documentation --color
现在它有效。