Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Junit 面向java的数据驱动集成测试工具_Junit_Integration Testing_Data Driven Tests - Fatal编程技术网

Junit 面向java的数据驱动集成测试工具

Junit 面向java的数据驱动集成测试工具,junit,integration-testing,data-driven-tests,Junit,Integration Testing,Data Driven Tests,我面临着我认为是一个常见的问题,但我还没有找到太多的讨论或现有的工具来解决它。我正在尝试建立一个集成测试系统(已经有了一套强大的单元测试),它支持QA提交输入数据和预期结果(理想情况下以平面文件的形式),可以从标准化的junit类运行 我计划在这里使用junit@Paramaterized注释来实现自己的功能。我想象每一组数据和结果都有一个控制文件,所有控制文件都放在一个目录中。参数生成器方法将扫描此目录并返回这些文件的列表。然后,测试构造函数将读取此文件并设置输入数据和预期结果 在我开始写这篇

我面临着我认为是一个常见的问题,但我还没有找到太多的讨论或现有的工具来解决它。我正在尝试建立一个集成测试系统(已经有了一套强大的单元测试),它支持QA提交输入数据和预期结果(理想情况下以平面文件的形式),可以从标准化的junit类运行

我计划在这里使用junit
@Paramaterized
注释来实现自己的功能。我想象每一组数据和结果都有一个控制文件,所有控制文件都放在一个目录中。参数生成器方法将扫描此目录并返回这些文件的列表。然后,测试构造函数将读取此文件并设置输入数据和预期结果

在我开始写这篇文章之前,我想看看是否已经存在做这类事情的工具,如果没有,就我提出的解决方案征求一些意见

应用程序本身是一个纯后端ETL类型的工具,它以各种格式从多个输入文件中获取数据,并在数据库中生成结果。我已经有一些静态集成测试,它们使用内存中的Derby数据库来检查琐碎输入数据的结果,我计划在这里使用类似的系统来确认数据。预期结果的形式为
(键值、列、预期值)
三元组。我想使用junit,以便与我们的测试和结果报告基础架构的其余部分相结合

看一看,这是一个基于Groovy的测试框架,它对数据驱动测试具有强大的支持。Spock是为测试Java(和Groovy)代码而设计的,并且与JUnit完全兼容(事实上,Spock测试是使用JUnit运行的)。有关从数据库提取数据的简单示例测试,请参阅

总的来说,我觉得你的计划很合理,也可以通过简单的JUnit和@Parameterized来实现。斯波克和Groovy可以让你的生活更轻松。例如,在Groovy中处理文本文件和数据库比在Java中容易得多


免责声明:我是斯波克的创建者。

我更喜欢斯波克本人。但我确实看到有一个JUnitParams框架,它比直接的JUnit参数化测试更具可读性:

有关详细说明,请访问:

对于其他提出这个问题的人