是否可以以编程方式启动外部spring-boot应用程序

时间:2018-06-17 11:13:10

标签: java spring-boot

我使用spring-boot 2.0.3创建了一个rest应用程序。从另一个maven模块(在不同的多模块pom中),我有一个集成测试,测试发送到正在运行的休息应用程序的数据是否被处理。

是否可以以编程方式运行此spring-boot应用程序?我不能使用简单的@SpringBootTest-annotation,因为spring-boot应用程序不在同一个maven多模块中。

2 个答案:

答案 0 :(得分:0)

我建议使用mockito使用某些数据模拟对您的rest端点的请求,并测试您的其他应用程序是否尝试将正确的数据发送到端点。

这样,两个应用程序都是独立测试的,并且彼此之间没有依赖关系。如果需要,这提供了能够用另一个应用程序替换这些应用程序之一的好处。它也提供了良好的分离。这很重要,因为当您(或其他人)想要使用您的REST应用程序时,他们不会使用您的其他应用程序,因此使用您的测试中编写的静态数据测试REST应用程序并且不依赖于输出另一个应用。由于REST应用程序是独立的。

但是,如果您想以这种方式进行测试,可以尝试将其他应用程序包含在类路径中。

答案 1 :(得分:0)

问题是“松耦合”。这是技术上可行的,但不建议这样做。使用Mockito进行模拟时,构建本身具有大量测试。

应该创建一个集成测试模块alacumcu.io,它将涵盖正在运行的模块的功能。

这是公认答案的重点。