0

minitestを使用して基本的なデバッグログインをテストする際にいくつか問題があります。レールは什器を使用してテストの問題を考案する(無許可アクセス)

私のテスト:

test "user can sign in" do 
    @user = users(:someoneelse) 
    get new_user_session_path 
    assert_select "strong", "log in" 
    post user_session_path, user: { email:  @user.email, 
            password: @user.password, 
            } 
    assert_redirected_to root_path 
    end 

フィクスチャ

someoneelse: 
    email: [email protected] 
    encrypted_password: <%= Devise::Encryptor.digest(User, 'password') %> 
    created_at: <%= Time.zone.now %> 

テスト結果:

test_user_can_sign_in#UserFlowTest (0.81s) 
     Expected response to be a <3XX: redirect>, but was a <200: OK> 
     test/integration/user_flow_test.rb:17:in `block in <class:UserFlowTest>' 

ログ尾

Started POST "https://stackoverflow.com/users/sign_in" for 127.0.0.1 at 2017-02-19 14:06:28 -0600 
Processing by Devise::SessionsController#create as HTML 
    Parameters: {"user"=>{"email"=>"[email protected]", "password"=>"[FILTERED]"}} 
Completed **401 Unauthorized in 1ms** (ActiveRecord: 0.0ms) 
Processing by Devise::SessionsController#new as HTML 

ユーザーが権限がないと思われます。フィクスチャーに何か問題がありますか?

また、minitestをより詳細にするにはどうすればよいですか?

ありがとうございました。

答えて

1

@user.passwordの代わりに'password'を使用してください。モデルは保存された後に保存されたパスワードを知らない。

関連する問題