有谁知道如何对SiteMapNode进行单元测试?我们<!>#8217;重新构建一些自定义导航控件,这些控件使用自定义属性从站点地图呈现无序的html列表。

我<!>#8217;我试图遵循测试第一种方法,但我发现SiteMapNode对HttpContext有内部依赖性。要遍历站点地图文件,它坚持使用虚拟路径来查找站点地图文件。

我已经建立了一个站点地图,我想要测试,但我不想<!>#8217;想要在web项目中创建我的单元测试环境(!)

有什么建议吗?惩戒?覆盖相关成员?

有帮助吗?

解决方案

一个相当沉闷的问题,所以毫不奇怪它没有得到回应!对于任何可能偶然遇到此问题的人来说,这是我的首选解决方案:

我发现处理此问题的最佳方法是将物理站点地图加载到xml文档中。然后我有一个NavigationNodeFactory,它从xml文档验证并构建我自己的复合NavigationNode树。

我的NavigationNode类就像我喜欢的那样自负,并且绕过我在SiteMap和SiteMapProvider中发现的问题,即实施者的可测试性差。

其他提示

我认为问题可能源于您的描述,您试图先测试已存在的类 - SiteMapNode。

您将要在应用程序中测试站点地图节点的使用,因此我建议您如果要对sitemapnode类执行操作,请使用中间的ISiteMapProvider或类似方法对其进行包装您自己制作的摘要,并让您的自定义导航控件与此互动。

然后,您可以为运行时调用SiteMapNodeProvider,调用SiteMapNode进行操作,然后使用StubbedSiteMapProvider进行单元测试,将测试值传递给自定义控件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top