0

我可以直接运行 rspec,但使用 Rakefile 就像

require 'rspec/core/rake_task'

task :default => [:spec]

RSpec::Core::RakeTask.new do |task|

end

我得到类似这样的输出 C:\Ruby193 -S rspec ./spec/hello_spec.rb

您可以看到它没有找到 ruby​​ 可执行文件。rspec 怎么知道它在哪里?我关闭了 Ruby 的环境变量,它仍然这样做。

4

1 回答 1

0

我必须为两种类型设置环境变量,这样我仍然可以在主 Ruby 安装中找到二进制文件。首先对于用户,我将整个路径放到 ruby​​\bin\ruby.exe 中,对于系统,我只放入 bin 目录的路径。这似乎解决了我的问题,我仍然可以运行其他二进制文件。

用户:%RUBY% = C:\Ruby193\bin\ruby.exe 并附加到 PATH

SYSTEM: %RUBY% = C:\Ruby193 并将其附加到 Path 作为 %RUBY%\bin

我使用 ansicon.exe 加上来自 root 的 dll,只要相同的驱动器。

require 'rspec/core/rake_task'

task :default => [:spec]

RSpec::Core::RakeTask.new do |task|
  task.pattern = "./spec/*_spec.rb"
  task.rspec_opts = ['-c']# for ansi colors
end

请注意,您不需要块中的默认值。任务是默认的测试。只需设置一些选项。

于 2013-05-27T14:06:27.283 回答