Aquí hay un poco de código del Tutorial Ruby on Rails de M Hartl. ¿Alguien puede explicar por qué es necesaria una variable de instancia (@user) y por qué no usar una variable local? Además, dado que se supone que las variables de instancia son las variables en la instancia de una clase, ¿a qué clase pertenece @user instance?¿Cómo funcionan las variables de instancia en rspec?
require 'spec_helper'
describe User do
before { @user = User.new(name: "Example User", email: "[email protected]") }
subject { @user }
it { should respond_to(:name) }
it { should respond_to(:email) }
end
Oh, creo que lo entiendo ahora.Siempre pensé que describir bloque se usaba para hacer las pruebas más legibles para los humanos y nada más. Gracias :) – TradeRaider
Esa publicación del blog ya no está disponible. Puede valer la pena actualizar la respuesta para incluir razones por las que usar una variable de instancia es un antipatrón y eliminar el enlace roto. – keoghpe