我一直在使用Pentaho Kettle很长一段时间以前我所做的转换和工作(使用勺子)已经非常简单地从db,rename等加载,输入到另一个db的东西。但是现在我一直在做转换,做一些更复杂的计算,我现在想以某种方式进行测试。
所以我想做的是:
一个选项可能是制作一个测试转换的Kettle测试工作。但是由于我的转换与java项目有关,我更喜欢从jUnit运行测试。所以我考虑过做一个jUnit测试:
然而,这种方法需要测试数据库并不总是可用(oracle等昂贵/遗留数据库)我更喜欢的是,如果我可以模拟或传递一些存根测试数据到我的输入步骤一些方法。
关于如何测试Pentaho水壶转换的任何其他想法?
答案 0 :(得分:4)
在jira.pentaho.com上有一个jira(我没有它可以提供)正是这个请求 - 但是它还没有实现。
所以你确实有正确的解决方案 - 我还会添加jenkins和一个蚂蚁脚本来将它们组合在一起。我在报告测试中做了类似的事情 - 我实际上有一个pentaho作业加载数据,然后执行报告,然后它将输出与已知输出和报告的通过/失败进行比较。
答案 1 :(得分:3)
如果您将水壶作业分为两个阶段:
您可以使用复制行在加载数据的末尾生成流式步骤,并从结果中获取行以在流程步骤开始时获取行。
如果你这样做,那么你可以使用任何方法加载数据(水壶变换,从ant脚本调用dbunit),并可以模拟你想要的任何数据库表。
我用它来测试我编写的一些ETL脚本,它运行得很好。
答案 2 :(得分:1)
您可以使用数据验证程序步骤。当然不是一个完整的单元测试套件,但我认为有时可以快速检查数据完整性。 您可以一次运行多个测试。
对于更严重的"测试我将推荐@codek answer并在Jenkins下执行你的水壶。