【问题标题】:Rakefile causes RSpec to run tests twiceRakefile 导致 RSpec 运行两次测试
【发布时间】:2015-05-24 02:59:05
【问题描述】:

我在运行 RSpec 时遇到了一个奇怪的问题。 RSpec 本身可以正常工作,但是当使用此 Rakefile 通过 rake 运行时:

require 'rubocop/rake_task'
require 'rspec/core/rake_task'

RuboCop::RakeTask.new(:cop)
RSpec::Core::RakeTask.new(:spec)

task default: [:cop, :spec]

它会产生这样的输出:

失败:

1) 公众访问自行车坞站无法释放,因为没有可用 失败/错误:期望 { docking_station.release_bike }.to raise_error 'No Bikes Available' “没有可用的自行车”的预期异常,但没有提出任何问题 # /Users/me/Projects/boris-bikes/spec/feature/public_bike_access_spec.rb:12:in `block (2 levels) in '

2) 公众访问自行车坞站无法释放,因为没有可用 失败/错误:期望 { docking_station.release_bike }.to raise_error 'No Bikes Available' “没有可用的自行车”的预期异常,但没有提出任何问题 # ./spec/feature/public_bike_access_spec.rb:12:in `block (2 levels) in '

在 0.01419 秒内完成(文件加载耗时 0.36303 秒) 10个例子,2个失败

失败的例子:

rspec /Users/me/Projects/boris-bikes/spec/feature/public_bike_access_spec.rb:10 # 公众访问自行车坞站无法释放,因为没有可用 rspec ./spec/feature/public_bike_access_spec.rb:10 # 公众访问自行车坞站无法释放,因为没有可用

/Users/me/.rvm/rubies/ruby-2.2.0/bin/ruby -I/Users/me/.rvm/gems/ruby-2.2.0/gems/rspec-support-3.2.1/ lib:/Users/me/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.0/lib /Users/me/.rvm/gems/ruby-2.2.0/gems/rspec-core -3.2.0/exe/rspec --pattern spec/**{,/*/**}/*_spec.rb 失败

似乎在同一个位置两次找到同一个规范文件;

Users/me/Projects/boris-bikes/spec/feature/public_bike_access_spec.rb:10

./spec/feature/public_bike_access_spec.rb:10

任何想法可能导致这种情况?

【问题讨论】:

  • 有什么办法解决吗?我遇到了类似的行为。
  • 仍然没有 - 另一位同事在另一台机器上也经历过 - 但没有仔细观察它 - 再次只是 rake 任务,而不是原始 rspec - 我认为我们需要向维护 RSpec RakeTask 的人提交错误报告 - 我想这只是基本的 rspec 人员......

标签: rspec rake


【解决方案1】:

Rspec 将自身添加到默认值。您想先用 clear 删除它,然后重新添加它:

task(:default).clear.enhance [:cop, :spec]

【讨论】:

  • 感谢@dankohn - 不幸的是,这似乎没有帮助。原始的 Rakefile 在其他机器上运行良好。只是这台机器似乎有这个问题,这让我认为它与底层文件系统上的符号链接有某种关系——尽管 rspec 运行良好,即只有一个测试。我想知道 RSpec::Core::RakeTask 是否以与从命令行运行 rspec 不同的方式添加了 RSpec 搜索路径 ...
猜你喜欢
  • 2011-04-07
  • 2012-04-30
  • 1970-01-01
  • 2019-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-20
  • 1970-01-01
相关资源
最近更新 更多