GetHttpContext
関数をVB.NETでHtmlHelperTest.csから実装しようとしていますが、Rhino Mockを使用していますが、 "Type 'HttpContextBase'定義されていません。"コンパイラはそれをHttpContext
に変更することを提案していますが、それを行うと、密閉されたクラスを嘲笑することができないというランタイムエラーが発生します。VB.NETでHttpContextBaseタイプが見つかりません(ASP.NET MVCでRhino Mockを使用しています)
私のテストプロジェクトはSystem.Webを参照し、その名前空間もインポートします。 HttpContextBase
タイプを私が賢明なコードに見えるようにするために何か必要なことはありますか?
ここにコードがありますが、問題との関連性はわかりません。
Imports NUnit.Framework
Imports Rhino.Mocks
Imports System.Web.Routing
<TestFixture()> _
Public Class XhtmlHelperTest
Public Const AppPathModifier = "/$(SESSION)"
'Various test methods here...'
Private Shared Function GetHttpContext(ByVal appPath As String, _
ByVal requestPath As String, _
ByVal httpMethod As String, _
Optional ByVal protocol As String = "http", _
Optional ByVal port As Integer = -1 _
) As HttpContextBase
Dim mockHttpContext = MockRepository.GenerateMock(Of HttpContextBase)()
If Not String.IsNullOrEmpty(appPath) Then
mockHttpContext.Expect(Function(hc) hc.Request.ApplicationPath).Return(appPath)
End If
If Not String.IsNullOrEmpty(requestPath) Then
mockHttpContext.Expect(Function(hc) hc.Request.AppRelativeCurrentExecutionFilePath).Return(requestPath)
End If
Dim uri As Uri
If port >= 0 Then
uri = New Uri(protocol + "://localhost" + ":" + port)
Else
uri = New Uri(protocol + "://localhost")
End If
mockHttpContext.Expect(Function(hc) hc.Request.Url).Return(uri)
mockHttpContext.Expect(Function(hc) hc.Request.PathInfo).Return("")
If Not String.IsNullOrEmpty(httpMethod) Then
mockHttpContext.Expect(Function(hc) hc.Request.HttpMethod).Return(httpMethod)
End If
mockHttpContext.Expect(Function(hc) hc.Response.ApplyAppPathModifier(Arg(Of String).Is.Anything)).WhenCalled(Function(invocation) AppPathModifier + invocation.Arguments(0))
Return mockHttpContext
End Function
End Class
ありがとうございました。 Visual StudioのMvcDevのコードを見ると、そのクラスはSystem.Webにあると言いました。 – CoderDennis
ああ、私は見る!これはSystem.Web名前空間にありますが、System.Webアセンブリにはありません。それは混乱している! – CoderDennis