写单元测试在ASP.NET Web API中使用User.Identity.Name的方法

前端之家收集整理的这篇文章主要介绍了写单元测试在ASP.NET Web API中使用User.Identity.Name的方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用ASP.NET Web API的单元测试编写测试用例。

现在我有一个操作,它调用我在服务层中定义的一些方法,其中我使用了下面的代码行。

string username = User.Identity.Name;
// do something with username
// return something

现在如何为此创建单元测试方法,我得到空引用异常。我有点新写单元测试和东西。

并且我想使用单元测试这一点。

请帮助我。谢谢。

解决方法

下面一个只是一种方法
public class FooController : ApiController {

    public string Get() {

        return User.Identity.Name;
    }
}

public class FooTest {

    [Fact]
    public void Foo() {

        var identity = new GenericIdentity("tugberk");
        Thread.CurrentPrincipal = new GenericPrincipal(identity,null);
        var controller = new FooController();

        Assert.Equal(controller.Get(),identity.Name);
    }
}
原文链接:https://www.f2er.com/aspnet/254431.html

猜你在找的asp.Net相关文章