Primeros pasos con rspec
En esta página
Un ejemplo sencillo de RSpec
En greetinger.rb (donde sea que vaya en su proyecto):
class Greeter
def greet
"Hello, world!"
end
end
En spec/greeter_spec.rb:
require_relative '../greeter.rb'
RSpec.describe Greeter do
describe '#greet' do
it "says hello" do
expect(Greeter.new.greet).to eq("Hello, world!")
end
end
end
Entonces nuestra estructura de archivos se ve así:
$ tree .
.
├── greeter.rb
└── spec
└── greeter_spec.rb
1 directory, 2 files
Producción
$rspec greeter_spec.rb
Finished in 0.00063 seconds (files took 0.06514 seconds to load)
1 example, 0 failures
En la terminología RSpec, el archivo es una “especificación” de Greeter
y el bloque it
es un “ejemplo”. La línea con esperar
es una expectativa. Si se cumple la expectativa, no pasa nada y pasa la prueba. Si no, la prueba falla.
Este ejemplo también muestra que los bloques describir
se pueden anidar, en este caso para transmitir que el método saludar
es parte de la clase Saludar
. El #
en #greet
es solo una convención para mostrar que greet
es un método de instancia (a diferencia de ‘.’ para un método de clase). RSpec no interpreta la cadena en absoluto, por lo que podría usar una cadena diferente u omitir ese bloque describe
por completo.
Instalación de RSpec
La forma más común de instalar la gema RSpec es usando Bundler. Agregue esta línea al Gemfile
de su aplicación:
gem 'rspec'
Y luego ejecuta bundle
para instalar las dependencias:
$ bundle
Alternativamente, puede instalar la gema manualmente:
$ gem install rspec
Después de instalar la gema, ejecute el siguiente comando:
rspec --init
Esto creará una carpeta spec
para sus pruebas, junto con los siguientes archivos de configuración:
- un directorio
spec
en el que poner archivos de especificaciones - un archivo
spec/spec_helper.rb
con opciones de configuración predeterminadas - un archivo
.rspec
con indicadores de línea de comandos predeterminados