我使用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); } }