SpringBoot REST API项目RestAssured+JUnit5测试目录结构是否合理?
关于RestAssured测试目录结构的问题解答
你当前使用的结构合理性
你目前把RestAssured测试和单元测试同放在src/test/java下,通过不同包名区分测试类型的方式是中小项目的常用结构,完全可以正常使用。
这种方案的优势很明显:
- 测试代码和业务代码同仓库,版本同步更简单,业务接口变更的时候可以同步修改对应的测试用例
- 可以直接复用项目里的测试工具类、配置类,不需要重复开发
- 可以直接结合
@SpringBootTest在测试阶段启动应用上下文执行接口测试,不需要额外部署服务
当然你也可以对现有结构做优化:可以通过构建工具(Maven/Gradle)单独配置src/integrationTest/java目录专门放集成测试,和src/test/java下的单元测试从目录级别拆分,不需要在包名里加unittests、restassuredtests这类标识,测试包名直接和生产代码的包名对应即可,查找测试用例会更方便。
什么时候需要把RestAssured测试放到独立项目
只有满足以下场景的时候,才建议把RestAssured测试拆到完全独立的项目:
- 你编写的是全链路端到端测试,需要依赖整个系统的多个服务部署完成才能执行,不局限于测试当前这一个SpringBoot应用
- 测试团队和开发团队职责拆分清晰,测试代码不需要和业务代码同仓库维护
- 测试用例有独立的执行周期,不需要在每次代码提交构建的时候运行,仅在预发、生产等环境定时执行
- 测试用例需要复用给多个同类型的业务项目使用
内容的提问来源于stack exchange,提问作者pixel
相关产品推荐
相关产品推荐

