我可以直接运行 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 的环境变量,它仍然这样做。
我必须为两种类型设置环境变量,这样我仍然可以在主 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
请注意,您不需要块中的默认值。任务是默认的测试。只需设置一些选项。