カスタムRoleProvider(標準のWebフォーム、MVCなし)を作成し、それをテストしたいと思います。プロバイダー自体は、IIdentityのカスタム実装と統合されます(いくつかのプロパティが追加されています)。
私は現在これを持っています:
var user = new Mock<IPrincipal>();
var identity = new Mock<CustomIdentity>();
user.Setup(ctx => ctx.Identity).Returns(identity.Object);
identity.SetupGet(id => id.IsAuthenticated).Returns(true);
identity.SetupGet(id => id.LoginName).Returns("test");
// IsAuthenticated is the implementation of the IIdentity interface and LoginName
ただし、VS2008でこのテストを実行すると、次のエラーメッセージが表示されます。
オーバーライドできないメンバーの設定が無効です:id => id.IsAuthenticated
なぜこうなった?そして最も重要なのは、それを解決するために何をする必要があるのでしょうか?
Grz、Kris。