ruby-on-rails - test - rspec rails
Las pruebas de rieles no pueden encontrar test_helper (6)
Estoy intentando ejecutar pruebas individuales a través de ruby test / unit / mytest.rb, pero siempre aparece el error "no existe el archivo para cargar - test_helper". Google trajo algunas sugerencias, pero ninguna de ellas funcionó para mí. Estoy ejecutando Rails 3.0, Ruby 1.9.2 (a través de RVM) en Ubuntu 10.10
Esto es lo que he intentado hasta ahora, cualquier sugerencia realmente apreciada.
- Se cambió "require test_helper" a "require File.dirname ( FILE ) +" /../test_helper "" en test / unit / mytest_test.rb. Trae de vuelta "no hay tal archivo para cargar - test / unit /../ test_helper"
- Intenté ejecutar rvm test / unit / mytest_test.rb igual que arriba
- Intenté ejecutar ruby -I test / unit / mytest_test.rb. No hay mensajes al terminal. Después de 5 minutos de espera de que algo suceda, ctrl + c salió de él.
Cualquier sugerencia muy apreciada - estoy perplejo.
He añadido lo siguiente a la parte superior de mis archivos de prueba.
require File.expand_path("../../test_helper", __FILE__)
Esto restaura el comportamiento anterior y permite que la llamada sea simplemente:
ruby test/unit/person_test.rb
Hoy mismo estuve luchando contra esto y no me gusta el gran requisito con todo el camino para archivar y esas cosas ...
En mi caso fue culpa de rakefile ..
Así que ahora se ve así:
require "bundler/gem_tasks"
require "rake/testtask"
Rake::TestTask.new do |t|
t.libs << "lib"
t.libs << "test" # here is the test_helper
t.pattern = "test/**/*_test.rb"
end
task default: :test
Sé que es antiguo y que la respuesta está marcada como aceptada, pero quizás esto también ayude a alguien :) que tenga un buen día
Rails 1.9 ya no incluye el directorio actual en LOAD_PATH, lo que causa este problema. Tienes pocas opciones.
llame a la prueba con la opción -I desde el directorio de la aplicación:
ruby -I test test / funcional / test_foo.rb
y use un requerimiento sin ruta:
require "test_helper.rb"
Utilice un camino completo en el requerimiento. Ya sea
requiere ''nombre de ruta''
requiere Pathname.new ( FILE ) .realpath.dirname.join (''/../ test_helper.rb'')
o
require (File.dirname(File.realdirpath(__FILE__)) + ''/../test_helper.rb'')
Si está creando una gema o un motor, la ejecución de la rake test
en el directorio de la aplicación ficticia de prueba causará este error. Ejecutar la rake test
en la raíz de la gema evitará esto.
Tal vez debería ejecutar sus casos de prueba de esta manera:
$ rake test
No es necesario cambiar la declaración de "requerimiento" del código generado si usa rake.
Probado con Ruby 1.9.3 y Rails 3.2.8
ruby 1.9.2 eliminó ".", el directorio actual, de la ruta de carga. Tengo que hacer esto para que funcione:
require ''test_helper''
y llámalo como
ruby -I. unit/person_test.rb