Instanzvariablen in rspec-Tests auffüllen

8

Ich habe eine Klasse mit folgender Initialisierungsmethode.

%Vor%

und ich möchte die Methode testen, die dann etwas mit @my_var

macht %Vor%

Wie ändere ich @my_var vor dem Test, dass es ein Array richtig zurückgibt?

Ist das möglich ohne einen Accessor für @my_var ?

    
Joseph Le Brech 25.10.2012, 13:20
quelle

1 Antwort

25

Das klingt nicht nach einer korrekten Übung. Rspec sollte das Interface-Verhalten Ihrer Klassen und Modelle testen - nicht die interne Implementierung (von welcher Instanz Variablen zweifellos sind). Es gibt Möglichkeiten, dies zu tun, aber sind Sie sicher, dass Sie keinen Accessor für diese Variable haben möchten?

Wie auch immer, Sie können my_object.instance_variable_get("@my_var") und my_object.instance_variable_set("@my_var", value) verwenden, um die Variable zu manipulieren.

    
PinnyM 25.10.2012, 13:24
quelle

Tags und Links