gpt4 book ai didi

asp.net - 我如何模拟 Server.HtmlEncode - 返回空引用

转载 作者:行者123 更新时间:2023-11-28 21:00:40 27 4
gpt4 key购买 nike

我正在尝试模拟 Server.HtmlEncode(),但我一直遇到空引用异常。我是 Moq 框架的新手,这是我的代码:

var context = new Mock<HttpContextBase>();
var request = new Mock<HttpRequestBase>();
var response = new Mock<HttpResponseBase>();
var session = new Mock<HttpSessionStateBase>();
var server = new Mock<HttpServerUtilityBase>();

server.Setup(svr => svr.HtmlEncode(It.IsAny<string>())).Returns((string s) => s);
context.Setup(ctx => ctx.Request).Returns(request.Object);
context.Setup(ctx => ctx.Response).Returns(response.Object);
context.Setup(ctx => ctx.Session).Returns(session.Object);
context.Setup(ctx => ctx.Server).Returns(server.Object);

我还尝试了以下方法:

context.Setup(ctx => ctx.Server.HtmlEncode(It.IsAny<string>())).Returns((string s) => s);

我找到了解决方案,但它似乎已经过时了 solution as expect 被 setup 取代。

提前致谢,阿恩

最佳答案

您可以使用静态 HttpUtility.HtmlEncode工作得很好的方法,你不需要模拟它。

另一个重要的评论: Controller 与 HTML 编码无关。这是 View 的责任,因此您可能从错误的角度处理了这个问题。

关于asp.net - 我如何模拟 Server.HtmlEncode - 返回空引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4193002/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com