ruby - visibles - Cómo incluir el directorio lib en las pruebas rspec
crear carpeta ubuntu comandos (4)
Actualice manualmente su ruta de carga en spec_helper.rb antes de que la llamada require
hacer el truco. Intenta que esta sea la primera línea de tu spec_helper.rb:
$: << ''../lib''
o
$LOAD_PATH << ''../lib''
( $:
es un alias para $LOAD_PATH
)
Estoy teniendo un problema al probar mi gema que incluye un directorio lib
, en JRuby 1.7.4.
Quiero probar un archivo ubicado en lib/vger/resources/account_manager.rb
Mi archivo de especificaciones está en spec/vger/resources/account_manager_spec.rb
require ''spec_helper''
describe Vger::Resources::AccountManager do
.
.
end
end
Estoy tratando de incluir el archivo que quiero probar en spec_helper.rb
require ''rubygems''
require ''bundler/setup''
require ''vger/resources/account_manager''
require ''vger''
RSpec.configure do |config|
# some (optional) config here
end
Mientras rspec spec/vger/resources/account_manager_spec.rb
la prueba con el comando rspec spec/vger/resources/account_manager_spec.rb
, rspec spec/vger/resources/account_manager_spec.rb
este error:
NameError: uninitialized constant Vger::Resources
const_missing at org/jruby/RubyModule.java:2631
Parece que el archivo que quiero probar no se está cargando. Por favor, dígame dónde me equivoco y dónde debo hacer las correcciones.
Puede agregar la siguiente línea a su archivo .rspec
en la raíz de la aplicación: -I lib
También es posible incluir archivos: -r lib/api.rb
Estas opciones se describen a continuación:
-Yo CAMINO
Especifique PATH para agregar a $ LOAD_PATH (se puede usar más de una vez).
-r, --require PATH
Requerir un archivo.
RSpec carga el entorno de los rieles, como recuerdo, así que solo necesita agregarlos a los directorios de carga automática en su archivo application.rb
Encontrar esta linea
# config.autoload_paths += %W(#{config.root}/extras)
descoméntalo lo arregla para que sea así:
config.autoload_paths += %W(#{config.root}/lib)
deberia de funcionar
Uso lo siguiente para mis especificaciones ... dependiendo del nivel en que esté tu biblioteca ...
require_relative ''../../lib/module''