我必须使用一些旧的Java应用程序。 共有6个项目:
为此,
我如何对此进行测试
我的想法是使用单个测试项目,该项目将使用@SpringBootTest和mockmvc运行所有必需的项目,以模拟真实调用并将其转移到测试中,而不是使用真实端点。
要求
答案 0 :(得分:1)
对于@SpringBootTest
,它应该加载加载单个Spring Boot驱动的应用程序所需的所有内容。
因此,Spring Boot测试文档中提到的“集成测试”是针对一种特定的应用程序的。
现在,您正在谈论6个已经存在的应用程序。如果这些应用程序都是由Spring Boot驱动的,则可以为每个应用程序运行@SpringBootTest
,并模拟不需要的所有内容。您提到过BTW的MockMvc
不会启动整个应用程序,而是启动与Web请求处理相关的应用程序的“一部分”(例如,它不会加载您的DAO层),因此完全不同的东西,不要在它们之间混淆:)
如果您不想测试涉及所有6个服务的整个流程,则必须运行整个环境并运行将在远程JVM上执行的全面的系统测试。 在这种情况下,您可以将应用程序容器化,并使用TestContainers在测试中运行它们。
很显然,如果它们具有数据库,消息传递系统等,则还必须为数据库提供容器。
总的来说,我觉得这个问题比较模糊,缺乏具体细节。