Maven - 添加集成测试

2024-03-22

尝试将 Maven 构建中的测试拆分为单元测试和集成测试。

我正在使用故障安全插件来运行集成测试,并尝试使用 build-helper-maven-plugin 从 src/it/java 目录添加集成测试。

当我尝试进行构建时出现错误,但我看不到原因,从模块的根文件夹来看,我的集成测试源的路径看起来是正确的。

[ERROR] Failed to execute goal org.codehaus.mojo:build-helper-maven-plugin:3.0.0:add-test-source (add-test-resource) on project XXXX: The parameters 'sources' for goal org.codehaus.mojo:build-helper-maven-plugin:3.0.0:add-test-source are missing or invalid -> [Help 1]

任何想法都将受到欢迎。谢谢

<plugin>
   <groupId>org.codehaus.mojo</groupId>
      <artifactId>build-helper-maven-plugin</artifactId>
      <version>3.0.0</version>
      <executions>
         <execution>
            <id>add-test-source</id>
            <phase>generate-test-sources</phase>
            <goals>
               <goal>add-test-source</goal>
            </goals>
            <configuration>
               <sources>
                  <source>src/it/java</source>
               </sources>
            </configuration>
        </execution>
        <execution>
           <id>add-test-resource</id>
           <phase>generate-test-sources</phase>
           <goals>
              <goal>add-test-source</goal>
           </goals>
           <configuration>
              <resources>
                <resource>
                  <directory>src/it/resources</directory>
                </resource>
              </resources>
           </configuration>
       </execution>
    </executions>
</plugin>

堆栈跟踪:

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:build-helper-maven-plugin:3.0.0:add-test-source (add-test-resource) on project XXXX: The parameters 'sources' for goal org.codehaus.mojo:build-helper-maven-plugin:3.0.0:add-test-source are missing or invalid
  at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)
  at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
  at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
  at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
  at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
  at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
  at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
  at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309)
  at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:194)
  at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:107)
  at org.apache.maven.cli.MavenCli.execute(MavenCli.java:993)
  at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:345)
  at org.apache.maven.cli.MavenCli.main(MavenCli.java:191)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
  at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
  at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
  at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginParameterException: The parameters 'sources' for goal org.codehaus.mojo:build-helper-maven-plugin:3.0.0:add-test-source are missing or invalid
  at org.apache.maven.plugin.internal.DefaultMavenPluginManager.populatePluginFields(DefaultMavenPluginManager.java:643)
  at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:596)
  at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:121)
  at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)

我配置了故障安全以在其自己的目录中查找测试,并且它工作正常!我还需要像您一样配置测试源目录。您需要配置构建帮助器插件来查找要编译的代码:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <version>3.0.0</version>
    <executions>
        <execution>
            <id>add-test-source</id>
            <phase>generate-test-sources</phase>
            <goals>
                <goal>add-test-source</goal>
            </goals>
            <configuration>
                <sources>
                    <source>src/integration-test/java</source>
                </sources>
            </configuration>
        </execution>
        <execution>
            <id>add-test-resource</id>
            <phase>generate-test-sources</phase>
            <goals>
                <goal>add-test-source</goal>
            </goals>
            <configuration>
                <sources>
                    <source>src/integration-test/resources</source>
                </sources>
            </configuration>
        </execution>
    </executions>
</plugin>

以及用于在该文件夹中运行测试的故障安全插件:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>3.0.0-M3</version>
    <executions>
        <execution>
            <goals>
                <goal>integration-test</goal>
                <goal>verify</goal>
            </goals>
            <configuration>
                <testSourceDirectory>src/integration-test/java</testSourceDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Maven - 添加集成测试 的相关文章

随机推荐

  • 如何使用 jest/enzyme 中的“current”属性测试 useRef

    我希望有人能指出我正确的测试方向useRef在下面的组件中 我有一个类似于下面的组件结构 我正在尝试测试其中的功能otherFunction 但我不确定如何模拟组件引用中的当前属性 以前有人做过这样的事情吗 const Component
  • 应用内购买从服务器检索信息时出错 [DF-AA-20]

    我正在尝试启用应用程序计费 我已经在我的 Google Play 控制台上创建了应用内产品并获得了我的许可证密钥 当我尝试购买产品时 我收到此图像错误 这是我用来创建 BillingProcessor 的代码 bp new BillingP
  • “或”和||之间的区别在鲁比? [复制]

    这个问题在这里已经有答案了 两者有什么区别or and Ruby 中的运算符 或者这只是偏好 这是一个运算符优先级的问题 优先级高于or 因此 在两者之间还有其他运算符 包括三元 和赋值 因此您选择哪一个会影响语句的结果 这是一个ruby
  • python 中复杂的类似 matlab 的数据结构 (numpy/scipy)

    我目前在 Matlab 中的数据结构如下 item i attribute1 2 j 其中 item 是 i 1 n 中的一个单元格 每个单元格包含多个属性的数据结构 每个属性的大小为 2 j 的矩阵 其中 j 1 m 属性的数量不固定 我
  • Karma - 包含 html 文件时出现意外标记

    我试图在我的 karma 配置文件中包含一个简单的 html 文件 以访问我的 javascript 文件中的 html 元素 并使用 karma 中的 jasmine 进行测试 但我总是得到一个意外令牌 错误 我在网络广播中看到可以包含
  • JEST + React 测试库:我应该在测试之前使用 beforeAll 渲染我的组件吗?

    正如标题所示 我正在使用 RTL Jest 使用 Create react app 设置 我的问题是 我是否应该在每个测试中使用 beforeAll 来预渲染该块中的组件 这样每个测试就不必从头开始重新渲染组件 因为我的测试套件始终从相同的
  • 给定一组 GraphQL 变量类型,是否可以使用客户端模式为该组中的每种类型创建所有有效值的映射

    标题主要说明了一切 我正在构建一个反应 中继应用程序 它将允许用户在运行时动态创建图表 显示指定时间范围内的各种收入流 该图表的一个特点是用户能够指定每个收入流的采样间隔 例如 YEAR QUARTER MONTH WEEK等 作为每个流的
  • 无法启动动物园管理员

    我正在使用合流平台 zookeeper 处于活动状态查找状态 但是当我尝试用 confluence 启动 kafka 时 它显示 Zookeeper 已关闭 sudo service zookeeper status Redirecting
  • Phonegap、Cordova 观察位置每 1 秒成功发射一次

    平台 iOS6 OSx Lion 我试图弄清楚 Phonegap Cordova 的工作方式navigator geolocation watchPosition 文档说该选项 maximumAge 是要求系统检索位置的一个 因此 有了这些
  • 将 DataTable 转换为 IEnumerable

    我正在尝试将 DataTable 转换为 IEnumerable 其中 T 是我创建的自定义类型 我知道我可以通过创建一个List
  • ERR_TOO_MANY_REDIRECTS:我的代码是否被锁定在循环中?

    我正在尝试完成 Tableau js API 教程 当我尝试将在线示例与我发布到服务器的图表一起使用时 我立即遇到了 ERR TOO MANY REDIRECTS 错误 我对这项工作还很陌生 所以我想我应该提供相关的片段 看看您是否可以发现
  • 如何恢复电子应用程序中的默认窗口大小?

    有没有办法将电子应用程序中的主窗口恢复到一定大小 为了解释我想要实现的目标 让我举个例子 当我打开 Windows 资源管理器时 它会以特定大小并在特定位置打开 然后我最大化该窗口并关闭资源管理器 下次当我重新启动资源管理器时 它会以与关闭
  • 查找数组中的总和等于零

    给定一个整数数组 找到一组至少有一个总和为 0 的整数 例如 给定 1 8 6 7 2 1 2 5 算法可以输出 1 6 2 2 5 因为这是输入数组的子集 其总和为 0 该解决方案必须在多项式时间内运行 您将很难在多项式时间内完成此任务
  • ActiveX 控件是否被禁用?

    我的 Excel 工作表使用 ActiveX 复选框来控制某些活动 今天他们开始报错 一位运行更高版本 Excel 的同事向我发出了警报 但它仍然可以在我的计算机上运行 我注意到有 Windows 更新 所以我进行了更新 现在它不再在我的计
  • std::vector 到带有自定义分隔符的字符串

    我想复制a的内容vector到一长string带有自定义分隔符 到目前为止 我已经尝试过 h string getLabeledPointsString const string delimiter cpp string Gesture g
  • 数据表到嵌套列表

    我想转换 library data table n lt 12 DT lt data table level1 rep paste0 Manu 1 2 each n 2 level2 rep paste0 Dept 1 4 each n 4
  • 验证 Tensorflow 流中是否存在该文件。使用 tf.gfile.Exists 以字符串张量作为输入

    使用 Tensorflow 我试图在读取文件之前验证文件是否存在tf read file filename 不幸的是 按照我的管道的设置方式 我正在使用以下命令动态生成文件名字符串tf命令 我使用生成文件名字符串tf string join
  • 跟踪 XWindow 协议

    是否可以使用工具跟踪 XWindow 协议 我认为wireshark将是一个很好的框架来承载这样的想法 但似乎没有支持 为了实现这个目标应该做什么 Wiresharkdoes具有剖析X Window协议的能力 但是 您首先必须能够捕获 X
  • 用于多个 Maven 模块项目的 proguard

    我在多模块 Maven 项目中有一个对 proguard 的插件引用 我的项目的功能已经过全面测试并且可以工作 直到我添加 proguard 我的项目的结构 parent pom module a pom module b pom test
  • Maven - 添加集成测试

    尝试将 Maven 构建中的测试拆分为单元测试和集成测试 我正在使用故障安全插件来运行集成测试 并尝试使用 build helper maven plugin 从 src it java 目录添加集成测试 当我尝试进行构建时出现错误 但我看