Frage: Welche Änderung muss ich vornehmen, damit meine Testergebnisse in der Befehlszeile aufgeräumt werden, anstatt dass meine Druckanweisung angezeigt wird.Rspec 3 Stubbing Benutzereingabe
Ich habe diese Klasse:
class Hello
attr_accessor :name
def say
print "What is your name? "
@name = gets.chomp
end
end
ich dies will, wenn es die Benutzereingabe Namen in den @name
speichert.
Mein aktueller Test funktioniert:
it "stores the user's name to a `name` instance variable" do
greeting = Hello.new
allow(greeting).to receive(:gets).and_return("Brian")
greeting.say
expect(greeting.name).to eq "Brian"
end
Aber es verpestet meine Leistung und erfordert mich auch eingeben zu drücken.
Randomized with seed 40671
.**What is your name? .
Pending: (Failures listed here are expected and do not affect your suite's status)
1) Hello#say outputs a greeting including the user's name
# Temporarily skipped with xit
# test/saying_hello_spec.rb:20
2) Hello#say outputs the user's name in capitalize format
# Temporarily skipped with xit
# test/saying_hello_spec.rb:23
Finished in 2.03 seconds (files took 0.10072 seconds to load)
4 examples, 0 failures, 2 pending
Randomized with seed 40671
Danke Paul. Das funktioniert und prägnante Antwort. –
@ArmanJonVillalobos bitte dann in Betracht ziehen, meine Antwort zu akzeptieren (klicken Sie auf das "✓" unter der Partitur) :) –