【发布时间】:2021-05-02 04:26:56
【问题描述】:
我的问题是关于基于 docker 的验收测试的目录位置。
我的项目是一个基于 Spring Boot 的命令行应用程序,它从表中提取数据并构建电子表格。它具有单元测试和基于 JUnit 的验收测试。验收测试的 JUnit 运行器是标准的 JUnit 运行器,而不是基于 Spring 的运行器。
最后,我有一个验收测试结构,它根据专门为每个测试创建的专用 DB2 实例来测试 Docker 组件。此时,有一个 docker-compose 文件:
- 专门为此测试启动一个 DB2 容器实例。
- 启动 Flyway 迁移容器以加载测试数据。
- 启动执行上述 Spring Boot 命令行应用程序的容器。
docker-compose 关闭后,将与生成的电子表格和预期文件进行比较。如果它们是逐字节等效的,则认为测试通过。
鉴于上面的验收测试大量使用 docker 并且从 Java 端删除了一些步骤,将这个测试放在 /src/test/acceptance 下是否仍然合适?
【问题讨论】:
-
可能更传统的结构是使用
src/test/java进行单元/集成测试,并有一个单独的src/acceptance/java目录用于验收测试,如果它们不是作为同一套件的一部分运行的话。不过,这确实是一个约定俗成的问题
标签: java spring-boot junit