我通常使用Rake
运行我的测试套件:
Rake文件:
require 'rake/testtask'
namespace :spec do
desc "Run all specs"
task all: [:units]
desc "Run all unit specs"
Rake::TestTask.new :units do |t|
t.pattern = "spec/unit/**/*_spec.rb"
t.libs = ['app', 'spec']
end
end
上面的rake任务非常有效。现在我希望用guard-minitest
:
Guardfile :
guard 'minitest' do
watch(%r{^app/(.+)\.rb$}) { |m| "spec/app/#{m[1]}_spec.rb" }
watch(%r{^spec/(.+)\.rb$}) { |m| "spec/#{m[1]}.rb" }
end
但是,这样做会导致我的加载路径没有设置:
/vagrant/spec/unit/helper.rb:5:in `require': cannot load such file -- repository (LoadError)
...因为我要求我的文件不是require 'repository'
而是require './app/repository'
。
如何配置guard以使用我需要的加载路径,就像我在rake任务中一样?
答案 0 :(得分:2)
您可以直接在app
(或LOAD_PATH
)中将test/test_helper.rb
目录添加到spec/spec_helper.rb
,例如:
$:.unshift(File.expand_path(File.join(File.dirname(__FILE__), '..', 'app')))
guard-minitest将你的测试助手添加到minitest,即使在drb上运行时也是如此。