小编Yan*_*ans的帖子

ASP.NET MVC单元测试自定义AuthorizeAttribute

我正在研究ASP.NET MVC 4项目(.NET框架4),我想知道如何正确地单元测试自定义AuthorizeAttribute(我使用NUnit和Moq).

我超越了2种方法:AuthorizeCore(HttpContextBase httpContext)HandleUnauthorizedRequest(AuthorizationContext filterContext).正如你所看到的,这些方法分别期望HttpContextBaseAuthorizationContext,但我不知道如何模拟这些.

这是我得到的:

[Test]
public void HandleUnauthorizedRequest_UnexistingMaster_RedirectsToCommonNoMaster()
{
    // Arrange
    var httpContext = new Mock<HttpContextBase>();
    var winIdentity = new Mock<IIdentity>();
    winIdentity.Setup(i => i.IsAuthenticated).Returns(() => true);
    winIdentity.Setup(i => i.Name).Returns(() => "WHEEEE");
    httpContext.SetupGet(c => c.User).Returns(() => new ImdPrincipal(winIdentity.Object)); // This is my implementation of IIdentity
    var requestBase = new Mock<HttpRequestBase>();
    var headers = new NameValueCollection
        {
           {"Special-Header-Name", "false"}
        };
    requestBase.Setup(x => x.Headers).Returns(headers);
    requestBase.Setup(x => x.HttpMethod).Returns("GET");
    requestBase.Setup(x => x.Url).Returns(new Uri("http://localhost/"));
    requestBase.Setup(x …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc nunit unit-testing moq

10
推荐指数
1
解决办法
7150
查看次数

RestSharp忽略响应字符集编码

我正在使用RestSharp版本105.1.0(.NET 4.5.1)对我们自己的API进行REST调用.此API使用以下特别感兴趣的标头发送响应:Content-Type: application/json; Charset=iso-8859-1.如您所见,此响应的字符集设置为iso-8859-1.

我希望我从RestSharp得到的响应使用这种编码来解码响应内容.但是,当我查看RestResponse.Content属性时,某些字符显示为 .据我所知,这意味着使用了错误的编码.当我尝试RawBytes使用正确的编码手动解码时,我得到正确的字符串.

我尝试手动设置iso-8859-1 Encoding属性,RestClient但无济于事.

如何确保使用正确的编码解码RestSharp的响应?

示例代码:

// Setting the Encoding here does not change the result
var client = new RestClient(myApiUri) { Encoding = Encoding.GetEncoding("iso-8859-1") };
var request = new RestRequest(Method.GET);
var restResponse = client.Execute(request);
Console.WriteLine(restResponse.Content)
// Outputs content as string with wrong encoding
// some characters display as ?
Run Code Online (Sandbox Code Playgroud)

提前致谢!

.net c# encoding restsharp

2
推荐指数
1
解决办法
4064
查看次数

标签 统计

c# ×2

.net ×1

asp.net-mvc ×1

encoding ×1

moq ×1

nunit ×1

restsharp ×1

unit-testing ×1