require './spec/spec_helper'
require './bank'
describe Bank do
context "#transfer" do
before(:all) do
@customer1 = Customer.new(500)
customer2 = Customer.new(0)
@customer1.stub(:my_money).and_return(1000)
customer2.stub(:my_money).and_return(0)
@transfer_message = Bank.new.transfer(@customer1, customer2, 2000)
end
it "should return insufficient balance if transferred amount is greater than balance" do
expect(@transfer_message).to eq("Insufficient funds")
end
it "calls my_money" do
expect(@customer1).to have_received(:my_money)
end
end
end
Wenn ich before(:each)
statt before(:all)
verwenden funktioniert es. Aber wenn before(:all)
verwenden, wird Fehler wie undefined method proxy_for for nil:NilClass
ausgelöst. Ich konnte den Grund nicht herausfinden. Kannst du mir bitte Helfen? Danke im Voraus.Methode Anstoßen auf vor (: all)
Wie ich mich erinnere "vor (: alle)" ist beraubt und ersetzt durch "vor zu tun ..." ist auch richtiger Weg ist nicht Variablen verwenden, könnten Sie stattdessen "Let" verwenden. Wenn Sie nil: NilClass haben, bedeutet dies, dass rspec keinen Kundendatensatz in der Datenbank erstellt hat (es könnte ein Resolver sein, indem er 'let! (: Object) {action}') aufruft. – itsnikolay