spork 0.9.2 和 rspec 3.0.0 = 未初始化的常量 RSpec::Core::CommandLine (NameError) [英] spork 0.9.2 and rspec 3.0.0 = uninitialized constant RSpec::Core::CommandLine (NameError)
问题描述
我使用的是 spork 0.9.2 和 rspec 3.0.0.尝试运行测试 rspec --drb
时出现异常
Im using spork 0.9.2 and rspec 3.0.0. When trying to run test rspec --drb
I have an exception
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/spork-0.9.2/lib/spork/test_framework/rspec.rb:11:in run_tests: 未初始化的常量RSpec::Core::CommandLine (NameError)
但是当将 rspec 版本改回 2.6 时 - 一切正常.有没有人遇到过同样的问题?可以解决吗?
But when changing rspec version back to 2.6 - everything is OK. Has anyone faced the same issue? Is it possible to work around?
推荐答案
原因是RSpec3中去掉了RSpec::Core::CommandLine
The reason is that RSpec::Core::CommandLine was removed in Rspec3
https://github.com/rspec/rspec-core/blob/master/Changelog.md
将 RSpec::Core::CommandLine(从未正式声明为 public)合并到 RSpec::Core::Runner.(迈伦·马斯顿)
Merge RSpec::Core::CommandLine (never formally declared public) into RSpec::Core::Runner. (Myron Marston)
但是 spork 依赖于这个代码.
But spork depends on this code.
spork 的 github 上已经有问题,可以在以下 spork 的 fork 中找到解决方法:
There is already an issue on spork's github and a solution can be found in a following spork's fork:
一般-替换
::RSpec::Core::CommandLine.new(argv).run(stderr, stdout)
与
::RSpec::Core::Runner.run(argv,stderr, stdout)
在 soprks 源代码中
in the soprks source code
这篇关于spork 0.9.2 和 rspec 3.0.0 = 未初始化的常量 RSpec::Core::CommandLine (NameError)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!