Ich habe die folgende Methode, die in Einheit getestet werden kann < /p>
public string GetSubjectFromRoute(string routeKey)
{
return httpContextAccessor.HttpContext!.GetRouteValue(routeKey)!.ToString()!;
}
< /code>
Hier habe ich meinen Test geschrieben, < /p>
[Fact]
public void GetSubjectFromRoute_Should_Return_Route_Value()
{
// Arrange
var expectedSubject = "route-subject-123";
var routeKey = "subject";
var mockHttpContextAccessor = new Mock();
// Set up routing feature with route data
var data = new RouteValueDictionary()
{
{ routeKey, expectedSubject }
};
var routeData = new RouteData(data);
var routingFeature = new RoutingFeature()
{
RouteData = routeData
};
var features = new FeatureCollection();
features.Set(routingFeature);
var httpContext = new DefaultHttpContext(features);
mockHttpContextAccessor.Setup(x => x.HttpContext).Returns(httpContext);
var userContext = new UserContext(mockHttpContextAccessor.Object);
// Act
var result = userContext.GetSubjectFromRoute(routeKey);
// Assert
Assert.Equal(expectedSubject, result);
}
< /code>
Wenn ich den Test ausführe, erhalte ich immer wieder nullReferencexception < /code>. Objekt. '
Ich habe den Framework -Quellcode überprüft und das Fehler mit dem Rahmen. Irgendwelche Hinweise darauf, was mir fehlt?
Ich habe die folgende Methode, die in Einheit getestet werden kann < /p> public string GetSubjectFromRoute(string routeKey) { return httpContextAccessor.HttpContext!.GetRouteValue(routeKey)!.ToString()!; } < /code> Hier habe ich meinen Test geschrieben, < /p> [Fact] public void GetSubjectFromRoute_Should_Return_Route_Value() { // Arrange var expectedSubject = "route-subject-123"; var routeKey = "subject"; var mockHttpContextAccessor = new Mock();
// Set up routing feature with route data var data = new RouteValueDictionary() { { routeKey, expectedSubject } };
var routeData = new RouteData(data);
var routingFeature = new RoutingFeature() { RouteData = routeData }; var features = new FeatureCollection(); features.Set(routingFeature); var httpContext = new DefaultHttpContext(features);
mockHttpContextAccessor.Setup(x => x.HttpContext).Returns(httpContext); var userContext = new UserContext(mockHttpContextAccessor.Object);
// Act var result = userContext.GetSubjectFromRoute(routeKey);
// Assert Assert.Equal(expectedSubject, result); } < /code> Wenn ich den Test ausführe, erhalte ich immer wieder nullReferencexception < /code>. Objekt. '
Ich habe den Framework -Quellcode überprüft und das Fehler mit dem Rahmen. Irgendwelche Hinweise darauf, was mir fehlt?
Ich versuche, über sein Bearer-Token in ASP.NET Core auf die Ansprüche eines Benutzers zuzugreifen, aber im Handler ist HttpContext.User.Identity.Name immer null, und die Claims-Auflistung ist es...
Ich versuche, über sein Bearer-Token in ASP.NET Core auf die Ansprüche eines Benutzers zuzugreifen, aber im Handler ist HttpContext.User.Identity.Name immer null, und die Claims-Auflistung ist es...
Ich habe lange nach einer Lösung für dieses Problem gesucht und frage nun hier. Vielleicht hat hier jemand ein ähnliches Problem und kann mir einen Rat geben.
Zur Konfiguration:
Wir haben drei...