我有一个包装 GetGlobalResourceObject 和 GetLocalResourceObjet 的类,因此它们可以在 MVC 中轻松使用。然后模型验证类从资源文件中动态加载错误消息。问题是单元测试。代码使用“~/”,虽然在运行解决方案时一切正常,但我看不到如何进行单元测试,因为我总是收到以下错误“System.Web.HttpException:应用程序相对虚拟路径'~/ ' 不能设为绝对,因为应用程序的路径未知。”
引发异常的代码如下,用于计算表达式并返回全局资源对象。
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
关于如何测试这个和其他使用资源文件的代码的任何想法?