2

だから私は Moq を使用して、コントローラー アクションの単体テストを書き始めています。

私のコントローラーはすべて、コンストラクターで設定された userId プロパティを Membership.GetUser().ProviderUserKey の値にする基本 CustomController クラスから継承します。このようにして、contactId を渡すだけで、userId をサービス層に渡すことができます。

これは、この単体テストではうまく機能しないようです。

  var serviceMock = new Mock<IFormService>();
        serviceMock.Setup(g => g.GetForm(2)).Returns(new FormViewModel() {ID = 2, Name = "Mock Form"});
        var controller = new FormController(serviceMock.Object);
        var result = controller.Index(2);
        Assert.IsNotNull(result, "View Result is null");

基本 CustomController で例外をスローし、Membership.GetUser().ProviderUserKey から userId を設定しようとします。

「UnauthorizedAccessException: パス 'C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\App_Data' へのアクセスが拒否されました。」

他の誰かがこの問題に遭遇したか、それを回避する方法について考えていますか?

4

1 に答える 1