Ich bin Michael Hartl Ruby on Rails-Tutorial folgen. Ich beobachte, dass er Minitest verwendet hat, um seine Tests durchzuführen. Ich benutze RSpec. Nachfolgend finden Sie eine Zeile Code aus dem Tutorial ich mit RSpec replizieren wollenWas ist die RSpec-Syntax entspricht für Assert (Minitest)
test "email validation should accept valid addresses" do
valid_addresses = %w[[email protected] [email protected] [email protected]
[email protected] [email protected]]
valid_addresses.each do |valid_address|
@user.email = valid_address
assert @user.valid?, "#{valid_address.inspect} should be valid"
end
end
Dies ist, wie ich dies mit RSpec zu tun.
it "email validation should accept valid addresses" do
valid_addresses = ["[email protected]", "[email protected]", "[email protected]",
"[email protected]", "[email protected]"]
valid_addresses.each do |valid_address|
user.email = valid_address
expect(@user.valid?).to be true, "#{valid_address.inspect} is not correct"
end
end
Allerdings bekomme ich Argument Fehler, wenn ich diesen Test ausführen. Es scheint, dass RSpec in Testfällen nur ein Argument erwartet.
Das ist ein Tippfehler @ margo, '' 'user''' sollte' '' @ user''' sein. Die Fehlermeldung lautet: '' 'ArgumentError: falsche Anzahl von Argumenten (gegeben 2, erwartete 1)' '' –