public string GetSubjectFromRoute(string routeKey)
{
return httpContextAccessor.HttpContext!.GetRouteValue(routeKey)!.ToString()!;
}
< /code>
Вот как я написал свой тест, < /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>
, когда я запускаю тест, я продолжаю получать NullReferenceException < /code>. < /p>
Исключение произошло: clr /system.nullreexexexcept Object. '
Я проверил исходный код фреймворта и настройка iroutingfeature
с необходимыми деталями, но по -прежнему получила ошибку. Какая -нибудь подсказка о том, что мне не хватает?
У меня есть следующий метод, который будет протестирован на единицу < /p> [code]public string GetSubjectFromRoute(string routeKey) { return httpContextAccessor.HttpContext!.GetRouteValue(routeKey)!.ToString()!; } < /code> Вот как я написал свой тест, < /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> , когда я запускаю тест, я продолжаю получать NullReferenceException < /code>. < /p>
Я проверил исходный код фреймворта и настройка iroutingfeature [/code] с необходимыми деталями, но по -прежнему получила ошибку. Какая -нибудь подсказка о том, что мне не хватает?