私は@WithMockUser
を使用して、単純なスプリングブートWebサービスで基本認証で保護されたコントローラメソッドをテストしています。アノテーションは次のようになります。@WithMockUserはユーザー名、パスワードフィールドを無視しますか?
@WithMockUser(username = 'admin', password = 'mypassword', roles = ['ADMIN'])
ユーザー名とパスワードのフィールドは無視されているようです。間違ったユーザー名やパスワードを指定しても、テストに合格します。ただし、役割フィールドは使用されているように見え、無効な役割でテストが失敗します。
おそらく私はこの注釈の役割を誤解していますが、セキュリティで保護されたメソッドに不正な資格情報が供給されていることを検証するために使用できるはずですか?
ありがとうございます!
--john
いいえ、すべきではありません。これは、与えられたユーザで 'SecurityContext'を再投入します。それは他の何かをテストすることを許可しません。必要に応じて、セキュリティ設定を手動で登録するなど、Springs Mock MVCテストのサポートを使用してシステムテストまたは完全統合テストを行う必要があります。 –