【发布时间】:2020-11-09 14:01:27
【问题描述】:
我目前正在为在其构造函数中使用IActionDescriptorCollectionProvider 的TagHelper 编写单元测试。到目前为止,我的设置如下所示 - 关于如何设置满足 IActionDescriptorCollectionProvider 并允许我更改 IActionDescriptorCollectionProvider.ActionDescriptors.Items 的值以进行测试的任何想法?
我无法使用DefaultActionDescriptorCollectionProvider 实现,因为它无法访问。有没有一种简单的方法可以做到这一点,还是我应该用 NSubstitute 代替它?
[SetUp]
public void Setup()
{
IHttpContextAccessor contextAccessor = new HttpContextAccessor();
contextAccessor.HttpContext = new DefaultHttpContext();
contextAccessor.HttpContext.Request.Path = "/foo";
IActionDescriptorCollectionProvider actionDescriptorCollectionProvider;
actionDescriptorCollectionProvider = new DefaultActionDescriptorCollectionProvider();
ActivePathSegmentTagHelper helper;
helper = new ActivePathSegmentTagHelper(contextAccessor, actionDescriptorCollectionProvider);
helper.Area = "";
helper.Controller = "Home";
helper.Action = "Index";
}
【问题讨论】:
标签: c# unit-testing asp.net-core