Wie kann GetRouteValue in RoutingFeature innerhalb von httpcontext getestet werden?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Wie kann GetRouteValue in RoutingFeature innerhalb von httpcontext getestet werden?

Post by Anonymous »

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?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post