当前位置: 首页 > 面试题库 >

在Maven中进行集成测试期间启动外部流程

唐阳泽
2023-03-14
问题内容

我想要对Maven项目进行完全自动化的集成测试。集成测试要求在运行之前启动外部(依赖于平台)程序。理想情况下,在单元测试完成后将终止外部程序,但这不是必需的。

有Maven插件可以完成此操作吗?还有其他想法吗?


问题答案:

您可以使用antrun插件。在内部,您将使用ant的
exec
apply
任务。

这样的事情。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.2</version>
    <executions>
      <execution>
        <phase> <!-- a lifecycle phase --> </phase>
        <configuration>

          <tasks>
            <apply os="unix" executable="cmd">
              <arg value="/c"/>
              <arg value="ant.bat"/>
              <arg value="-p"/>
            </apply>
            <apply os="windows" executable="cmd.exe">
              <arg value="/c"/>
              <arg value="ant.bat"/>
              <arg value="-p"/>
            </apply>
          </tasks>

        </configuration>
        <goals>
          <goal>run</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

蚂蚁当然可以通过
条件任务
来支持特定的命令。



 类似资料:
  • 问题内容: 有没有办法在运行集成测试之前在gradle构建中启动elasticsearch,然后再停止elasticsearch? 到目前为止,我的方法如下,但这阻碍了gradle构建的进一步执行。 问题答案: 出于我的目的,我决定在Java代码的集成测试中开始elasticsearch。 我已经尝试过ElasticsearchIntegrationTest,但是不适用于spring,因为它与Sp

  • 我试图为一个Spring引导项目写一个集成测试。不幸的是,我对实现感到困惑。 下面是已尝试的示例代码段 问题 我是否需要一个单独的,带有注释以支持集成测试

  • 我正在测试我的spring boot应用程序。我正在做集成测试,但由于url返回的响应无法jsonfied,测试一直失败。请帮忙。以下是测试功能: 错误:

  • 我有一个Spring Boot集成测试,其类定义如下。 我得到以下例外: 我的TestApplication类定义如下: properties-context.xml定义如下: 这从一个名为external.properties.的文件中读取,在我的外部属性文件中设置了属性'spring.main.allow-Bean-定义-覆盖=true'。我添加此项是因为当我运行应用程序时,出现了相同的异常,

  • 问题内容: 我正在尝试使用Maven故障安全插件通过以下配置运行集成测试: 一切正常,直到Jetty在集成前测试阶段启动。然后什么也没有发生,好像它在等待什么。最后一行说: 我如何才能使测试立即开始?我使用运行Maven 。 问题答案: 将Jetty Maven插件版本从6.1.7更改为6.1.26可以解决所有问题。

  • 当我删除的一个类时,它会按预期工作。 当我有两个类,但只有一个注释的时,它使用另一个,而不管怎么说。 当两个类都带有注释时,失败 deploymentException:WELD-001408类型[EntityManager]在注入点带有限定符[@Default]的不满足依赖项[[field]@Inject private Arquillian.ArquillianTestAbstract.em]