【发布时间】:2017-01-20 10:33:19
【问题描述】:
尝试使用 PublishedContentRequest 方法来执行多个单元测试。由于这是一个纯粹用于单元测试的单独项目,因此没有 Umbraco 上下文。
只是想知道是否有其他人在以这种方式测试 Umbraco 时遇到过问题。真的需要了解它所期望的uri。例如是“contact-us”、“/contact-us”或“http://localhost/contact-us”。也想知道如何正确设置路由上下文。
现在有这样的事情:
private static void SetupControllerContext(UmbracoContext umbCtx, ControllerBase controller)
{
var contextBase = umbCtx.HttpContext;
var pcr = new PublishedContentRequest(new Uri("/contact-us"), umbCtx.RoutingContext);
var routeData = new RouteData();
var routeDefinition = new RouteDefinition
{
PublishedContentRequest = pcr
};
routeData.DataTokens.Add("umbraco-route-def", routeDefinition);
controller.ControllerContext = new ControllerContext(contextBase, routeData, controller);
}
任何指针都会很棒。
谢谢
【问题讨论】:
标签: c# unit-testing umbraco7