使用来自csv文件的Spring读取数据运行测试

时间:2017-12-23 02:22:03

标签: file csv testing spring-batch

我尝试多次运行测试,从csv文件中读取所需的输入数据。我想为文件的每一行运行测试。

我打算手动完成,但我发现了Spring Batch。我是春季批次的新手,但我想到了以下几点:

  • 创建一个实现命令行运行的Spring启动应用程序。
  • 在run方法中,启动spring批处理作业
  • 此作业将逐行读取csv文件中的数据,并且对于每一行,将为当前行的数据运行@Test方法。

这种方法可以吗?有没有更好的方法呢?你能提供一些关于如何完成的示例代码吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

在我看来,这不是一个好方法,因为你试图为单元测试增加不必要的复杂性。还有Job,Job Meta数据,内存数据库等概念。

另外,Spring批处理并不仅仅是为了读取文件行,而是使用Spring Batch,编写器也是必需的。

通过这种方法,控制也是相反的。您的测试应该控制一切并成为驱动程序,但通过这种方法,Spring Batch作业成为测试驱动程序。

您应该只使用BeforeBeforeClass方法读取文件行,并使用主@Test方法在循环中调用私有测试方法(对于每一行和此私有方法都有实际测试逻辑)。如果循环成功,则测试成功。

您使用@Test注释测试方法,因为框架应该自动为您调用这些方法。手动调用它会失败。

如果我误解了您的任何要求,请告诉我。