asp.netmvcプロジェクトでアカウントコントローラーをテストしています。すべてのメソッドをテストし、コードカバレッジの結果を調べたところ、Initializeメソッドがカバレッジされていないことに気付きました。
このメソッドをテストするにはどうすればよいですか?
public class AccountController : Controller
{
public IFormsAuthenticationService FormsService { get; set; }
public IMembershipService MembershipService { get; set; }
protected override void Initialize(RequestContext requestContext)
{
if (FormsService == null) { FormsService = new FormsAuthenticationService(); }
if (MembershipService == null) { MembershipService = new AccountMembershipService(); }
base.Initialize(requestContext);
}
このテスト方法を試しましたが、エラーが発生しました。
[TestMethod]
public void Constructor_ReturnsController()
{
RequestContext requestContext = new RequestContext(new MockHttpContext(), new RouteData());
AccountController controller = new AccountController
{
FormsService = null,
MembershipService = null,
Url = new UrlHelper(requestContext),
};
IController cont = controller;
cont.Execute(requestContext);
}
エラーメッセージ:
テストメソッドMVC3Project.Tests.Controllers.AccountControllerTests+AccountControllerTest.Constructor_ReturnsControllerが例外をスローしました:System.NotImplementedException:メソッドまたは操作が実装されていません。