MVC で簡単に使用できるように、GetGlobalResourceObject と GetLocalResourceObjet をラップするクラスがあります。モデル検証クラスは、エラー メッセージをリソース ファイルから動的に読み込みます。問題は単体テストです。コードは「~/」を使用しており、ソリューションを実行するとすべてが正しく機能しますが、「System.Web.HttpException: The application relative virtual path '~/」というエラーが常に表示されるため、単体テストの作成方法がわかりません。 ' アプリケーションへのパスが不明なため、絶対パスにすることはできません。」
例外をスローするコードは次のとおりで、式を評価してグローバル リソース オブジェクトを返すために使用されます。
Private Function GetExpressionFields(ByVal expression As String) As ResourceExpressionFields
Return GetExpressionFields(expression, "~/")
End Function
Private Function GetExpressionFields(ByVal expression As String, ByVal path As String) As ResourceExpressionFields
Dim context As New ExpressionBuilderContext(path)
Dim resource_builder As New ResourceExpressionBuilder()
Dim fields As ResourceExpressionFields
fields = DirectCast(resource_builder.ParseExpression(expression, GetType(String), context), ResourceExpressionFields)
Return fields
End Function
このコードやリソース ファイルを使用する他のコードをテストする方法について何かアイデアはありますか?