[英]Pentaho kettle: how to set up tests for transformations/jobs?
我已经使用 Pentaho Kettle 有一段时间了,以前我所做的转换和工作(使用勺子)非常简单,从数据库加载,重命名等,输入到另一个数据库的东西。 但现在我一直在做一些更复杂的计算的转换,我现在想以某种方式进行测试。
所以我想做的是:
一种选择可能是做一个 Kettle 测试工作来测试转换。 但由于我的转换与 java 项目相关,我更愿意从 jUnit 运行测试。 所以我考虑过做一个 jUnit 测试:
然而,这种方法需要测试数据库,这些数据库并不总是可用(oracle 等。昂贵的/遗留数据库)我更喜欢的是,如果我可以模拟或将一些存根测试数据传递给我的输入步骤。
关于如何测试 Pentaho 水壶转换的任何其他想法?
jira.pentaho.com 上的某个地方有一个 jira(我手头没有它),它正好要求这个——但可惜它还没有实现。
所以你确实有正确的解决方案 - 我还会添加 jenkins 和一个 ant 脚本来将它们联系在一起。 我在报告测试方面做了类似的事情 - 我实际上有一个 Pentaho 作业加载数据,然后它执行报告,然后将输出与已知输出进行比较并报告通过/失败。
如果您将水壶作业分为两个阶段:
您可以使用复制行在加载数据到流步骤结束时生成结果,并从结果中获取行以在流程步骤开始时获取行。
如果这样做,那么您可以使用任何方式加载数据(kettle 转换,从 ant 脚本调用的 dbunit),并且可以模拟您想要的任何数据库表。
我用它来测试我编写的一些 ETL 脚本,它工作得很好。
您可以使用数据验证器步骤。 当然不是完整的单元测试套件,但我认为有时以快速方式检查数据完整性会很有用。 您可以一次运行多个测试。
对于更“严肃”的测试,我会推荐@codek 答案并在 Jenkins 下执行您的水壶。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.