有谁知道如何对 SiteMapNode 进行单元测试?我们正在构建一些自定义导航控件,它使用自定义属性呈现来自站点地图的无序 html 列表。
我正在尝试遵循测试优先的方法,但发现 SiteMapNode 对 HttpContext 具有内部依赖关系。为了遍历站点地图文件,它坚持使用虚拟路径来查找站点地图文件。
我已经构建了一个站点地图,我想对其进行测试,但我不想在 Web 项目中创建我的单元测试环境(!)
有什么建议么? mock ?覆盖相关成员?
最佳答案
一个相当无聊的问题,所以没有得到回应也就不足为奇了!对于可能偶然发现此问题的其他任何人,这是我的首选解决方案:
我发现处理此问题的最佳方法是将物理站点地图加载到 xml 文档中。然后我有一个 NavigationNodeFactory,它从 xml 文档验证并构建我自己的复合 NavigationNode 树。
我的 NavigationNode 类与我喜欢的一样固执己见,并解决了我在 SiteMap 和 SiteMapProvider 中发现的问题,即实现者的可测试性差。
关于unit-testing - 单元测试站点地图节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/301517/