我正在编写一些单元测试来测试自定义模型绑定器。
ViewModel具有引用资源文件的数据注释。
最初是App_GlobalResources目录中的资源 - 当绑定到模型时,我会得到一个文件未找到错误,因为资源文件不可用于测试项目。
帖子http://odetocode.com/blogs/scott/archive/2009/07/16/resource-files-and-asp-net-mvc-projects.aspx建议将.rex文件移到另一个目录并将自定义工具更改为PublicResXFileCodeGenerator
这似乎让我更进一步但我现在有一个错误
{“找不到适合指定文化或中性文化的任何资源。确保在编译时将”NameSpace.Address.resources“正确嵌入或链接到assembly \”Application.UI \“中,或者所需的所有附属组件都是可加载的并且已完全签名。“}
我可以嵌入资源文件,这解决了问题,但我需要将资源文件保留为内容。
是否可以访问在单元测试中引用资源文件的类?
ViewModel如下
public class CollectOrderDetails
{
protected Guid _Id = Guid.NewGuid();
[Required(ErrorMessageResourceType = typeof(Resources.PersonalDetails), ErrorMessageResourceName = "Form_Title_ErrorRequired")]
public string Title { get; set; }
[Required(ErrorMessageResourceType = typeof(Resources.PersonalDetails), ErrorMessageResourceName = "Form_FirstName_ErrorRequired")]
public string FirstName { get; set; }
}