unit-testing - RPG(或其他 ILE 语言)中的自动化测试

标签 unit-testing integration-testing ibm-midrange automated-tests rpgle

我们这里有很多 RPG 程序,我们做了很多自动化测试,但我们还没有很好地将这两者结合起来。是否有对 RPG 程序或任何其他 ILE 程序进行自动化测试的好方法?

我知道一个名为 RPGUnit 的项目,但它的最后一次更新是在 2007 年。然而,它似乎仍在使用,因为 RPG Next Gen目前正在将一些工作纳入其中。

你对这些有什么经验?还有什么我遗漏的,比如谷歌找不到的一些很棒的软件工具?

我对单元测试以及完整项目的集成测试感兴趣。任何与工具集成的东西,如 jenkins欢迎。如果它涉及 IBM 的 Rational Developer 或 System i Navigator,那也没关系。

我们正处于为 RPG 开发过程创建新测试计划的早期阶段,我不希望它从一开始就朝着错误的方向前进。

最佳答案

您可能已经知道“测试”主题的范围有多广。 IBM 有一个产品叫 Rational Function Tester(我没用过)http://www-01.ibm.com/software/awdtools/tester/functional/我自己使用 RPGUnit。不,它最近没有更新,但它仍然具有测试子过程所需的所有部分,就像测试 Java 方法一样。

坦率地说,这是最容易的部分。困难的部分是创建一个测试数据库并使其保持最新状态以代表生产数据库。 Rodin 有一些数据库工具,但我没有这些工具的预算,所以我或多或少地手工制作了自己的工具。我在 CL 程序中使用了许多 SQL 语句来提取生产数据,以便我可以保持参照完整性。然后我使用更多的 SQL 来添加我的特殊测试用例 - 生产数据中不存在但需要测试的那些关系。然后我制作了一个完整的测试数据库副本作为引用点。然后我运行我的测试用例,这将更新测试数据库。我编写了一个自产的 CMPPFM 实用程序,它允许我将引用数据库与现在修改的测试数据库进行比较。这将显示更改,但仍需要大量人工来检查比较以确保正确的行得到正确的更新。我还没有采取额外的努力来实现自动化。一个重要的警告是有些列您不关心,例如更改时间戳。

关于unit-testing - RPG(或其他 ILE 语言)中的自动化测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11117837/

相关文章:

java - 尝试使用 MockRestServiceServer 模拟 RestTemplate 但正文始终为 null

c# - 假/模拟 .Net Core 依赖注入(inject)控制台应用程序

angularjs - Protractor : isElementPresent 出现无效定位器错误

db2 - 为整个 DataStructure 分配其 nullind 数组

使用工作站自定义对象 (WCST) 在 iSeries 上创建 PDF 格式错误

unit-testing - Mono.doOnError() react 器 block 单元测试

angular - 在 Angular 单元测试中访问元素的内联样式

python - 每次单元测试后重置 Prometheus lib 的 CollectorRegistry

java - Spring MVC 4 : Mockmvc empty MockResponse content

ibm-midrange - SQLRPGLE 源大小限制