Ich habe eine Klasse mit folgender Initialisierungsmethode.
%Vor% und ich möchte die Methode testen, die dann etwas mit @my_var
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
?
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.