I httpContext
mit Moq framework
zu verspotten ich versuche, dass httContext.Current is not null
esnure wenn Anfrage von Unit-Test kommt, konnte aber nicht wirklich machen es zu arbeiten.spöttischen HttpContext.Current Api Controller Unit-Test
Nach googeln, kam ich mit folgenden Schritten so für und nicht sicher, welche Schritte als nächstes sind, bevor ich nach Api controller
Ruf machen.
Schritt 1
Add Moq package to project
Schritt 2
using Moq;
Schritt 3
var context = new Mock<HttpContextBase>();
var request = new Mock<HttpRequestBase>();
var response = new Mock<HttpResponseBase>();
request.Setup(r => r.UrlReferrer).Returns(new Uri("http://tempuri.org/?ReturnUrl=%2f"));
response.Setup(r => r.Cookies).Returns(new HttpCookieCollection());
context.Setup(c => c.Request).Returns(request.Object);
context.Setup(c => c.Response).Returns(response.Object);
Kann mir jemand i vor Gesuch Controller machen tun müssen, für die nächsten Schritte helfen.
Sie Ihren Code Refactoring sollte es zu entkoppeln von 'HttpContext', um es testbar zu machen. Sich über Dinge lustig zu machen, über die man keine Kontrolle hat, erzeugt normalerweise mehr Probleme als es löst. Der Schwierigkeitsgrad, der beim Erstellen eines Komponententests auftritt, ist ein direkter Hinweis darauf, wie gut oder schlecht der Code aufgebaut ist. – Nkosi
Mögliches Duplikat von [Testen einer Web-API-Methode, die HttpContext.Current.Request.Files verwendet?] (Http://stackoverflow.com/questions/31189028/testing-a-web-api-method-that-uses-httpcontext- current-request-files) –