Hier ist die Klasse, die ich getestet habe, enthalten in Foo.rb :
%Vor%Hier ist mein Test in Foo_spec.rb :
%Vor%Ich bekomme folgende Ausgabe:
%Vor% Ich habe the doc und das Beispiel gibt mein Gerät weiter (es ist also kein Problem mit dem rspec-Code), aber es gibt mir keine Informationen darüber, was ich falsch machen könnte . Die Fehlermeldung ist auch ziemlich verwirrend, da sie mir sagt, ich solle .any_instance
nicht auf einem nil:NilClass
aufrufen, aber wie ich mit meiner Ausgabe bewiesen habe, ist Foo
nicht nil
. Wie soll ich .any_instance.stub
für mein benutzerdefiniertes Objekt aufrufen?
Ich verwende Ruby 1.9.3
und rspec 2.14.5
.
Sie sollten before(:each)
für Stubbing verwenden.
Stubs in
before(:all)
werden nicht unterstützt. Der Grund dafür ist, dass alle Stubs und Mocks nach jedem Beispiel gelöscht werden. Daher würde jeder Stub, der inbefore(:all)
gesetzt ist, im ersten Beispiel funktionieren, das in dieser Gruppe läuft, aber nicht für andere.
Das Aktualisieren von rspec
hat für mich funktioniert. Sie können dies mit dem folgenden Befehl tun:
bundle update rspec