Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 多个Spring应用程序的单一集成测试_Java_Spring_Maven_Spring Test - Fatal编程技术网

Java 多个Spring应用程序的单一集成测试

Java 多个Spring应用程序的单一集成测试,java,spring,maven,spring-test,Java,Spring,Maven,Spring Test,我有两个Spring应用程序,它们通过数据库和一些AMQP进行交互: 基于Spring MVC构建的web应用程序 Spring Boot应用程序 每个应用程序都有其独立的上下文和属性文件 为这两个应用程序编写单一集成测试的正确方法是什么? 更具体地说:我可以将这两个应用程序合并到一个maven项目中,以便访问这两个应用程序 是否可以在中为两个应用程序配置测试上下文 单弹簧试验?目前我不知道如何告诉spring在一次测试中为不同的应用程序使用不同的上下文 此测试的另一个目的也是为了获得这两个

我有两个
Spring
应用程序,它们通过数据库和一些
AMQP
进行交互:

  • 基于Spring MVC构建的web应用程序
  • Spring Boot
    应用程序
每个应用程序都有其独立的上下文和属性文件

为这两个应用程序编写单一集成测试的正确方法是什么?

更具体地说:我可以将这两个应用程序合并到一个
maven
项目中,以便访问这两个应用程序

  • 是否可以在中为两个应用程序配置测试上下文 单弹簧试验?目前我不知道如何告诉spring在一次测试中为不同的应用程序使用不同的上下文

  • 此测试的另一个目的也是为了获得这两个应用程序的代码覆盖率。这就是为什么我不能仅仅启动,比如说,
    springboot
    应用程序作为单独的进程。有可能吗


  • Spring的测试模块为每个测试提供了一个应用程序上下文(请看一看),因此不可以,每个测试不能有多个应用程序上下文

    您可以拥有一个合并的应用程序上下文,它同时导入
    Spring Boot
    Spring MVC
    应用程序的上下文;这样,您就可以从两个应用程序中测试bean。然而,这可能不是您想要做的,我建议您不要这样做-您的测试将变得几乎毫无价值,因为使这种方法工作可能需要一些黑客,您将不会实际测试您的应用程序,因为它们将单独部署

    您应该编写每个应用程序的集成测试,并测量每个测试的覆盖率。如果您的应用程序相对较小,则可以使用端到端测试模块来创建类似于生产环境的环境,并验证您的应用程序是否正确地协同工作