我正在 Visual Studio 2012 中为 ASP.NET MVC 4 Web 应用程序开发一个单元测试项目。该解决方案有 3 个项目:
- 管理界面
- 单元测试
- 网页界面
WebUI 在 App_GlobalResources 文件夹中有一些用于定位的 resx 文件,它使用:
HttpContext.GetGlobalResourceObject("Resources", key).ToString()
得到字符串。
现在我需要对使用本地化的操作方法进行单元测试。我想在对方法进行单元测试时获取字符串。
这就是我所做的
我设法模拟了 GetGlobalResourceObject 方法,我可以发送我需要的任何字符串
我将 Resources.resx 文件作为链接添加到 UnitTests 项目
我编辑了链接的属性:
- 构建操作:嵌入式资源
- 复制到输出目录:不复制
- 自定义工具:GlobalResourceProxyGenerator
我实际上可以使用以下方法检索字符串:
Resources.stringName
但是,如果我在原始 resx 文件(WebUI 项目中的那个)中添加一个新字符串,一切都会中断,我无法构建解决方案。
链接不应该反映原始文件吗?