我正在为
Ruby(而不是Rails)运行rspec,用于一个简单的Ruby文件.我正在跟踪Tut TDD测试与Ruby.
@H_502_4@├── lib
│ ├── competition.rb
│ └── team.rb
└── spec
└── competition_spec.rb
当我运行rspec,我收到这个错误.我以前可以宣誓这个rspec的工作.我不知道发生了什么事.
@H_502_4@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)我的竞争_spec.rb
@H_502_4@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.
解决方法
RSpec 1中使用了嵌套格式化程序.这是在RSpec 2中重命名的文档.
也许您已经在命令行或.rspec文件中指定了嵌套?那么您需要指定–format文档.
你设置了config.formatter =嵌套在某个地方,可能你的spec_helper.rb文件?去掉它.
你可以从v1更新RSpec gem(命令运行测试从spec更改为rspec,这样很难想念).您可以使用gem list rspec检查版本.
或者,你可能会错过一个custom formatter的负载,你碰巧被称为嵌套.