Ich bin momentan im Ruby on Rails Tutorial von Autor Michael Hartl. Und ich in Kapitel 10.1.4 stecken geblieben, wo der Test GREEN sein sollte, aber ist derzeit RED, das ist die Fehlermeldung:10.1.4 michael hartl's ruby on rails tutorial TEST ROT
Started with run options --seed 48963
FAIL["test_valid_signup_information_with_account_activation", UsersSignupTest, 1.7533403700217605]
test_valid_signup_information_with_account_activation#UsersSignupTest (1.75s)
Failed assertion, no message given.
test/integration/users_signup_test.rb:44:in `block in <class:UsersSignupTest>'
41/41: [=========================================================================================================] 100% Time: 00:00:01, Time: 00:00:01
Finished in 1.78481s
41 tests, 173 assertions, 1 failures, 0 errors, 0 skips
Dies ist die Datei, die die Hauptfehler (FAIL) enthält, nach dem Bericht es sollte 'user.reload.activated behaupten?' werden:
require 'test_helper'
class UsersSignupTest < ActionDispatch::IntegrationTest
def setup
ActionMailer::Base.deliveries.clear
end
test "invalid signup information" do
get signup_path
assert_no_difference 'User.count' do
post users_path, user: { name: "",
email: "[email protected]",
password: "foo",
password_confirmation: "bar" }
end
assert_template 'users/new'
assert_select 'div#error_explanation'
assert_select 'div.alert.alert-danger'
end
test "valid signup information with account activation" do
get signup_path
assert_difference 'User.count', 1 do
post users_path, user: { name: "Example User",
email: "[email protected]",
password: "password",
password_confirmation: "password" }
end
assert_equal 1, ActionMailer::Base.deliveries.size
user = assigns(:user)
assert_not user.activated?
# Try to log in before activation.
log_in_as(user)
assert_not is_logged_in?
# Invalid activation token
get edit_account_activation_path("invalid token")
assert_not is_logged_in?
get edit_account_activation_path(user.activation_token, email: 'wrong')
assert_not is_logged_in?
get edit_account_activation_path(user.activation_token, email: user.email)
assert user.reload.activated?
follow_redirect!
assert_template 'users/show'
assert is_logged_in?
end
end
-
können Sie auch auf Git Repository mein Repository prüfen
Wenn mir jemand mit diesem Problem helfen könnte, wäre es sehr geschätzt und es würde mir wertvolle Zeit sparen.
Danke für das Kommentieren, aber ich glaube nicht, dass das das Problem hier ist. Ich komme mit dem Buch von Michael Hartl und der Aktivierungsmethode Teil kommt auf der nächsten Seite aber der Test sollte jetzt grün sein. Ich habe versucht, die Aktivierungsmethode trotzdem hinzuzufügen, aber es gibt immer noch einen ROT-Test. In meiner sessions_controller.rb habe ich eine Variable namens Nachricht, ich denke, es hat etwas damit zu tun, aber ich kann nicht herausfinden, was es ist. Danke trotzdem für deine Hilfe. – luissimo
@luissimo Ich denke, ich habe dein Problem gefunden. Definitiv ein einfacher Fehler zu machen :) –
Ich sah Ihren Kommentar nach einer Weile und ich hatte dieses Problem bereits behoben, aber Sie hatten Recht, das war das Problem. Also eine Plus-Antwort für dich sowieso. Prost. – luissimo