Asp.net
為在 ASP.NET Web API 中使用 User.Identity.Name 的方法編寫單元測試
我正在使用 Unit Test for 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); } }