Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.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
Java Spring批处理作业回归测试_Java_Spring Boot_Automation_Automated Tests_Spring Batch - Fatal编程技术网

Java Spring批处理作业回归测试

Java Spring批处理作业回归测试,java,spring-boot,automation,automated-tests,spring-batch,Java,Spring Boot,Automation,Automated Tests,Spring Batch,我不熟悉Spring批处理工作和测试自动化。我们已经在我们的项目中实现了spring批处理作业。考虑两种应用——弹簧批量应用和测试自动化应用。 Spring批处理应用程序读取一个文件,进行一些验证,并将值更新到DB中 我们的测试应用程序是用Java、Maven、Cucumber和TestNG构建的。Cucumber与TestNG框架集成 流程为:特性->步骤定义->页面对象(Java类)->访问数据库。 我们已经创建了测试场景来测试spring批处理作业。每个测试场景的输入文件都不同。 开发测试

我不熟悉Spring批处理工作和测试自动化。我们已经在我们的项目中实现了spring批处理作业。考虑两种应用——弹簧批量应用和测试自动化应用。 Spring批处理应用程序读取一个文件,进行一些验证,并将值更新到DB中

我们的测试应用程序是用Java、Maven、Cucumber和TestNG构建的。Cucumber与TestNG框架集成

流程为:特性->步骤定义->页面对象(Java类)->访问数据库。 我们已经创建了测试场景来测试spring批处理作业。每个测试场景的输入文件都不同。 开发测试用例以在本地环境中运行

目前,我们执行的测试用例如下:

  • 首先使用输入文件执行Spring批处理应用程序,值在DB中更新
  • 然后使用相同的输入文件在测试应用程序中执行测试场景,将输入文件中的值与DB中的值进行比较(Spring批处理作业和测试用例配置为访问相同的DB)。这将验证输入文件中的数据是否在DB中更新
  • 每次对具有不同输入文件的所有测试用例重复此操作
每次手动执行spring批处理作业时

我对spring批处理测试做了一些研究,发现几乎所有的方法要么基于单元测试,要么基于同一spring批处理应用程序中的端到端测试,该应用程序使用JobLauncherTestUtils启动批处理作业进行测试

有没有办法从另一个应用程序(这里是测试应用程序)执行spring批处理作业来测试其功能

最好的方法是什么


请提供您的意见。

手动自动化方法与使用
JobLauncherTestUtils
有什么根本不同?这种方法在我看来很复杂,没有真正的附加值。您可以为您的作业编写一个参数化测试类(参数是测试不同场景的输入文件),但仍然可以将其自动化。我认为没有必要创建一个单独的应用程序来自动化测试。但是为了回答您的问题,您可以使用
JobLauncher
/
JobOperator
CommandLineJobRunner
来运行spring批处理作业。@M.P.Korstanje如果我正确理解您的问题,因为我们在为每个测试手动执行spring批处理应用程序,我可以说我们的方法不是完全自动化的。测试应用程序不是用spring框架构建的,所以我试图探索除利用spring框架之外的其他选项JobLauncherTestUtils@MahmoudBenHassine是的,如果不使用SpringFramework,这种方法似乎很复杂。我将尝试实现参数化测试类。谢谢你的建议。自动化手动方法与使用
JobLauncherTestUtils
有什么根本不同?这种方法在我看来很复杂,没有真正的附加值。您可以为您的作业编写一个参数化测试类(参数是测试不同场景的输入文件),但仍然可以将其自动化。我认为没有必要创建一个单独的应用程序来自动化测试。但是为了回答您的问题,您可以使用
JobLauncher
/
JobOperator
CommandLineJobRunner
来运行spring批处理作业。@M.P.Korstanje如果我正确理解您的问题,因为我们在为每个测试手动执行spring批处理应用程序,我可以说我们的方法不是完全自动化的。测试应用程序不是用spring框架构建的,所以我试图探索除利用spring框架之外的其他选项JobLauncherTestUtils@MahmoudBenHassine是的,如果不使用SpringFramework,这种方法似乎很复杂。我将尝试实现参数化测试类。谢谢你的建议。