Ecco un po 'di codice da M Hartl's Ruby on Rails Tutorial. Qualcuno può spiegare perché è necessaria una variabile di istanza (@user) e perché non utilizzare una variabile locale. Inoltre, poiché si suppone che le variabili di istanza siano le variabili nell'istanza di una classe, quale classe è istanziata da @user?Come funzionano le variabili di istanza in 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, penso di averlo capito ora.Ho sempre pensato che il blocco descrittivo fosse usato per rendere i test più leggibili per gli umani e nient'altro. Grazie :) – TradeRaider
Quel post sul blog non è più disponibile. Potrebbe valere la pena aggiornare la risposta per includere i motivi per cui l'uso di una variabile di istanza è un antipattern e rimuovere il collegamento interrotto. – keoghpe