- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为 MVC3 Web 项目中的 Controller 编写单元测试,但是当我的测试尝试访问这样的资源时会抛出异常:
return Index(Resources.Strings.MyStringResource);
.resx
文件标题为
Strings
.
HttpContextBase
实现单元测试的库功能,所以我想知道如何使用 Moq 库来访问 App_GlobalResource。
最佳答案
你不能,至少不能直接。从资源 (.resx) 文件生成的强类型类公开静态方法,而不是实例方法。
因此,它们不能实现接口(interface)方法,也不是虚拟的; Moq要求至少满足其中一个条件才能创建模拟。
为了解决这个问题,您将创建一个抽象,就像其他任何东西一样:
public interface IResources
{
string MyStringResource { get; }
}
Index
方法。该实现可能如下所示:
public class ResourcesWrapper : IResources
{
public string MyStringResource
{
get
{
return Resources.Strings.MyStringResource;
}
}
}
IResources
的模拟。接口(interface),并将其传递给您的 Controller ,如下所示:
// Create the mock.
var mock = new Mock<IResources>();
// Setup the property.
mock.SetupProperty(m => m.MyStringResource, "My Mocked Value");
// Pass the object somewhere for use.
Assert.AreEqual(mock.Object.MyStringResource, "My Mocked Value");
关于.net - 你如何起订一个生活在 App_GlobalResource 中的 .resx?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13013075/
有谁知道激活功能时将资源文件部署到 Web 应用程序的 App_GlobalResources 文件夹的最佳方法? 最佳答案 感谢大家的回答,但 SharePoint 2010 的最佳解决方案如下:
我有一个 ASP.NET Web 应用程序,之前是使用 VS2008 的发布功能发布的。 最近我切换到 VS2008 的“Web 部署项目”。部署时,我注意到 ~/App_GlobalResource
我对 GlobalResources 有疑问 我创建 App_GlobalResources 文件夹 添加用户.resx 添加 Name = "FirstName", Value = "First n
我目前有一个 C# Web 应用程序项目,其中包含大量页面及其相应的代码隐藏文件(aspx、cs、designer.cs)。当我打开在构建过程中创建的 dll 并在 visual studio 对象资
我正在为 MVC3 Web 项目中的 Controller 编写单元测试,但是当我的测试尝试访问这样的资源时会抛出异常: return Index(Resources.Strings.MyString
我有一个测试 Controller 操作方法的单元测试方法。 action 方法使用资源文件来获取静态消息。 message = Resources.MyResource.MemberNotVeri
这个问题确实适用于所有项目,但是我的演示环境是 MVC3 应用程序,因此有这个标签。 我为我们的 MVC2 项目编写了一个 DisplayNameAttribute 派生类,就像很多人一样,这样我就可
如何在 ASP.NET Web 应用程序项目中使用它们?有什么区别吗? 非常感谢 最佳答案 本地资源: 本地资源特定于单个网页,用于提供不同语言的网页版本。 本地资源必须存放在 App_LocalRe
我将多个文本保存在 App_GlobalResources.resx 文件中。 文本必须是多行的,我需要让它们包含换行符。但是,当我阅读内容时,所有换行符都消失了(打印 \r\n ,而不是 CRLF
是否可以将资源文件 (.resx) 放入 App_GlobalResources 内的子文件夹中? 例如: /App_GlobalResources/someresources/myfile.resx
我创建了两个 resx 文件并将它们添加到我的应用程序下的 App_GlobalResources 文件夹中。 这里是值 这是我的标签 所以我更改了 Internet Explorer 中的语言设置
我有一个包含一些“全局”资源的 ASP.NET 网站: \App_GlobalResources ContosoFrobberResource.resx 这是对与每个“aspx”文件关联的“本
我正在开发一个由一些 Web 部件和其他组件组成的 SharePoint 2010 解决方案。此外,该解决方案需要管理中心中的应用程序页面进行配置。 所以我的解决方案包含一个额外的功能,它在中央管理菜
我已经为 SharePoint 2007 制作了很多解决方案 (wsp),并且我几乎自动化了所有需要的安装步骤,但有一件事我无法自动化。 如何制定将资源 (resx) 文件放置在虚拟应用程序的 App
我试图将我的 ASP.NET WebForms 应用程序部署到 AppHarbor。成功部署后,我得到 The directory '/App_GlobalResources/' is not all
我正在努力完成两件事: 本地化“FieldMustBeDate”和“FieldMustBeNumeric”的“内置”错误消息。 本地化您可能遇到的一些其他错误消息,例如“PropertyValueRe
再会! 我已经在 App_GlobalResources 中安装了 VS 2010 Express 和资源文件没有编译成强类型 Resources类(class)。更具体地说,不再发生代码生成。 我已
我是一名优秀的程序员,十分优秀!