gpt4 book ai didi

unit-testing - "Unit testing"一份报告

转载 作者:行者123 更新时间:2023-12-04 02:39:09 28 4
gpt4 key购买 nike

您如何对由某些报表引擎(例如Crystal Reports或SQL Server Reporting Services)创建的报表进行“单元测试”?

最佳答案

报告的问题类似于GUI的问题。
如果报表/GUI具有大量(错误放置的)智能,它将使测试变得困难。
解决的办法是

  • Separated Presentation:将演示文稿与内容分开(数据访问/域/业务规则)。在当前上下文中,这意味着您将创建某种ViewModel类来镜像最终报告的内容(例如,如果您的报告中包含订单明细和订单项,则该类应具有详细信息和行列表的属性项目对象)。 ViewModel的测试非常简单。将演示文稿应用于内容的最后一英里应该相对琐碎(薄UI)。
    例如如果使用xslt呈现报告,则可以使用XmlUnit或字符串比较之类的工具测试数据xml。您可以对最终报告的数据xml上的xsl转换充满信心...此外,这里的任何错误都将很容易修复。
  • 但是,如果您使用的是Crystal Reports之类的第三方供应商,则无法控制/访问 Hook 的报告生成。在这种情况下,您能做的最好的事情就是生成具有代表性的/预期的输出文件(例如pdf),称为黄金文件。在测试中将其用作只读资源以比较实际输出。但是,此方法非常脆弱。因为对报告生成代码的任何实质性更改都可能使所有以前的黄金文件都不正确。因此,它们将不得不重新生成。如果自动化的成本效益比太高,我会说“使用老式Word文档测试计划进行手动操作”。
  • 关于unit-testing - "Unit testing"一份报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/555805/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com