カスタムIOpenIdAuthenticationインターフェイスから派生したオブジェクトをコンストラクターが受け取る AccountController があります。デフォルトでは、これはOpenIdRelyingPartyをラップするOpenIdAuthenticationServiceオブジェクトです。インターフェイスは次のようになります。
public interface IOpenIdAuthentication {
IAuthenticationResponse Response { get; }
IAuthenticationRequest CreateRequest(string identifier);
}
IAuthenticationResponseをモックできます。
_mockResponse = new Mock<IAuthenticationResponse>(MockBehavior.Loose);
_mockResponse.SetupGet(r => r.ClaimedIdentifier).Returns(identifier);
_mockResponse.SetupGet(r => r.Status)
.Returns(AuthenticationStatus.Authenticated);
// ... removed the formatting of 'friendlyId' ...
_mockResponse.SetupGet(r => r.FriendlyIdentifierForDisplay).Returns(friendlyId);
ただし、IAuthenticationRequestをモックする方法がはるかに複雑に見えるため、よくわかりません。何か案は?