Настроить пути загрузки Guard-Minitest?

Обычно я запускаю набор тестов с помощью 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:

Защитный файл:

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?


person neezer    schedule 20.07.2012    source источник


Ответы (1)


Вы можете добавить каталог 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.

person Netzpirat    schedule 21.07.2012