c#单元测试需要非嵌入式资源文件

时间:2013-06-27 17:19:15

标签: c# asp.net-mvc-3 unit-testing

我正在编写一些单元测试来测试自定义模型绑定器。

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; }

}

0 个答案:

没有答案