4

有谁知道如何对 SiteMapNode 进行单元测试?我们正在构建一些自定义导航控件,它使用自定义属性从站点地图呈现无序的 html 列表。

我正在尝试遵循测试优先的方法,但发现 SiteMapNode 对 HttpContext 具有内部依赖关系。为了遍历站点地图文件,它坚持使用虚拟路径来查找站点地图文件。

我已经构建了一个站点地图,我想对其进行测试,但我不想在 Web 项目中创建我的单元测试环境(!)

有什么建议么?嘲讽?覆盖相关成员?

4

2 回答 2

2

一个相当无聊的问题,所以没有得到回应也就不足为奇了!对于可能偶然发现此问题的其他任何人,这是我的首选解决方案:

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

我的 NavigationNode 类与我喜欢的一样固执己见,并解决了我在 SiteMap 和 SiteMapProvider 中发现的问题,即实施者的可测试性差。

于 2008-11-20T10:14:28.457 回答
0

我认为问题可能出在您的描述中,您试图首先测试一个已经存在的类 - SiteMapNode。

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

然后,您可以拥有一个用于运行时调用 SiteMapNode 进行操作的 SiteMapNodeProvider,以及用于将您的测试值传递给自定义控件的单元测试的 StubbedSiteMapProvider。

于 2008-11-20T10:45:48.503 回答