vuestro visibles una todos subdirectorios resueltos prueba por para los ejercicios directorios directorio crear consola como comandos comando carpeta borrar archivos arbol ruby testing rspec rspec-rails

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''