【发布时间】:2012-03-31 23:28:40
【问题描述】:
我在模板项目中经常遇到问题。除了在模板生成器中运行模板之外,我无法真正测试我的工作。如果我正在处理用于多个不同模板的 TBB,这是一个主要问题,因为这意味着在更改 TBB 中的代码后,我应该重新测试所有模板(可能还有几个不同的页面/组件)根据内容略有不同)。
正如您在大型项目中看到的那样,TBB 被大量重复使用,由于需要进行大量测试,因此更改它们会花费大量时间,我很想为此找到解决方案。我知道使用当前的 TOM.NET(大多数类/方法是内部的)几乎不可能进行单元测试,那么实现自动化测试的替代方法是什么?
我研究过的一个解决方案是使用核心服务来启动包含一些测试内容的模板的渲染过程,然后检查输出是否符合预期,但实现这一点需要大量代码,因此会产生不必要的开销(我认为它仍然比手动重新测试案例花费的时间更少)。此外,除非您(以编程方式)使用单个(或一部分)TBB 创建单独的模板,否则这实际上并不允许您测试单个 TBB。该解决方案的好处是您可以在开发时在本地笔记本电脑上运行测试,假设您可以连接到 Tridion-server(在运行测试之前您仍然需要将代码上传到 Tridion,因此它不是完全理想的解决方案)。
我知道另一种选择是使用 DD4T/CWA,您几乎可以在前端处理所有测试,因为模板(通常)非常简单。
还有其他想法吗?
【问题讨论】: