包含新的测试目录 Maven Surefire 插件

2023-11-29

现有结构: src/test/java --> 所有 java 单元测试。 Maven Surefire 插件可以轻松获取此信息。 现在,除了这些java单元测试用例之外,我还想包括一些groovy测试用例,并且我想将它们放在src/test/groovy下。 如何让 Surefire 插件拾取这些测试用例?我使用的是 Intellij 12.0 ulitmate 版本。

 <plugin>
       <artifactId>maven-surefire-plugin</artifactId>
       <configuration>
           <additionalClasspathElements>
               <additionalClasspathElement>../groovy</additionalClasspathElement>
           </additionalClasspathElements>
           <excludes>
                <!-- ignore inner classes -->
                <exclude>**/*$*.java</exclude>

           </excludes>
       </configuration>
       <dependencies>
          <dependency>
            <groupId>org.apache.maven.surefire</groupId>
            <artifactId>surefire-junit47</artifactId>
            <version>2.12</version>
          </dependency>
    </dependencies>
   </plugin>

更新:我也尝试过 build-helper-maven-plugin

  <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.7</version>
        <executions>
            <!-- States that the plugin's add-test-source goal is executed at generate-test-sources phase. -->
            <execution>
                <id>add-groovy-test-sources</id>
                <phase>generate-test-sources</phase>
                <goals>
                    <goal>add-test-source</goal>
                </goals>
                <configuration>
                    <!-- Configures the source directory of integration tests. -->
                    <sources>
                        <source>src/test/groovy</source>
                    </sources>
                </configuration>
            </execution>
        </executions>
    </plugin>

现在,如果我运行“测试”目标,我明白了 添加了 C:\Developer\Code\myProj\trunk\ss\src\test\groovy。

但我没有看到为 groovy 文件生成任何类。

最终答案,感谢@khmarbaise,我刚刚升级了版本,并删除了 GMaven 编译

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
    </dependency>


    <dependency>
        <groupId>org.codehaus.groovy</groupId>
        <artifactId>groovy-all</artifactId>
        <version>2.1.3</version>
    </dependency>

</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <compilerId>groovy-eclipse-compiler</compilerId>
                <verbose>true</verbose>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.codehaus.groovy</groupId>
                    <artifactId>groovy-eclipse-compiler</artifactId>
                    <version>2.8.0-01</version>
                </dependency>
                <dependency>
                    <groupId>org.codehaus.groovy</groupId>
                    <artifactId>groovy-eclipse-batch</artifactId>
                    <version>2.1.3-01</version>
                </dependency>
            </dependencies>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.16</version>
        </plugin>

    </plugins>
</build>

以下 pom 正在运行:

<project
  xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <groupId>com.soebes.groovy</groupId>
  <artifactId>first-groovy</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <name>Test Groovy Scripting</name>

  <properties>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.codehaus.gmaven.runtime</groupId>
      <artifactId>gmaven-runtime-2.0</artifactId>
      <version>1.5</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.groovy</groupId>
      <artifactId>groovy-all</artifactId>
      <version>2.0.0</version>
    </dependency>
    <dependency>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
      <version>6.8.7</version>
    </dependency>
      <dependency>
        <groupId>org.easytesting</groupId>
        <artifactId>fest-assert</artifactId>
        <version>1.4</version>
      </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <compilerId>groovy-eclipse-compiler</compilerId>
          <verbose>true</verbose>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-eclipse-compiler</artifactId>
            <version>2.8.0-01</version>
          </dependency>
          <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-eclipse-batch</artifactId>
            <version>2.0.7-03</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.16</version>
      </plugin>
      <plugin>
        <groupId>org.codehaus.gmaven</groupId>
        <artifactId>gmaven-plugin</artifactId>
        <version>1.5</version>
        <dependencies>
          <dependency>
            <groupId>org.codehaus.gmaven.runtime</groupId>
            <artifactId>gmaven-runtime-2.0</artifactId>
            <version>1.5</version>
          </dependency>
          <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy</artifactId>
            <version>1.8.6</version>
          </dependency>
        </dependencies>
        <configuration>
          <debug>false</debug>
          <verbose>true</verbose>
          <stacktrace>true</stacktrace>
          <defaultScriptExtension>.groovy</defaultScriptExtension>
          <providerSelection>2.0</providerSelection>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>testCompile</goal>
              <goal>compile</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

</project>

您可以看到完整的工作示例here。这意味着要进行常规测试src/test/groovyjava 下的单元测试src/test/java.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

包含新的测试目录 Maven Surefire 插件 的相关文章

  • Maven:命令行下载pom.xml中描述的依赖项

    我想知道maven命令行下载pom xml中描述的依赖项 是这样的 mvn dependency copy dependencies Try the 依赖 离线 http maven apache org plugins maven dep
  • 更新到 IntelliJ IDEA Ultimate 2016.2 后找不到 Grails 应用程序

    我已将我的 IntelliJ IDEA Ultimate 更新到 2016 2 版本 我有一个 Grails 3 项目 现在当我打开 IDE 时尝试运行我的项目时出现以下错误 Error running Grails My Project
  • Grails/GGTS 2.4.2 没有将插件放在类路径上?

    我正在尝试将旧的 1 3 Grails 项目更新到最新的 Grails Groovy etc 所以我下载了 Grails 2 4 2 Groovy 2 3 和 Java 1 7 0 65 然后我通过 Import gt Grails 导入了
  • 如何在maven中使用pom.xml解压任意文件

    我的路径 C ptc Windchill 10 1 Windchill 中有一个 zip 文件 请谁能告诉我如何使用maven解压这个文件 Maven 有一个与 Ant 一起使用的插件 使用该插件 您可以创建 Ant Tasks 该任务是一
  • IntelliJ Idea 无法与 svn 更新一起正常工作

    在 IntelliJ Idea Community 版本中进行 svn 更新或比较操作时 我不断遇到相同的错误 svn E175002 Received fatal alert unexpected message svn E175002
  • ArgumentMatchers.any 不得为 null

    我正在尝试测试ViewModel以确保实时数据得到正确更新 然而使用时ArgumentMatchers any 它失败了IllegalStateException saying ArgumentMatchers any mViewModel
  • Angular2 如何对自定义验证器指令进行单元测试?

    我为输入字段编写了一个非常简单的自定义验证器 import Directive from angular core import AbstractControl NG VALIDATORS from angular forms functi
  • 使用 QTestLib 时抑制 qDebug

    我正在向 Qt 中的项目添加单元测试 并希望使用 QTestLib 我已经设置了测试并且它们运行良好 问题是在项目中我们重写了 qDebug 以输出到我们自己的日志文件 这在运行应用程序时效果很好 问题是当我测试类时 它有时会开始记录 然后
  • Maven Surefire:附加到 argLine

    我有 2 个配置文件 可能会也可能不会一起使用来运行一组测试 它们各自需要不同的 vmargs 来运行 但如果它们一起使用 则可以将它们相互附加 我正在寻找一种将 argLine 设置为其当前值加上我设置的值的串联的方法 我希望它会像这样简
  • JBehave 和 Maven - 如何跳过场景测试

    我正在使用 jbehave 和 jbehave maven 插件来运行一组场景测试 让我的测试类扩展 JUnitStories 一切都运行良好 唯一的问题是 我无法停止运行测试 每次我运行 Maven 安装目标时 它都会运行测试 我尝试在下
  • Maven 未运行 Spring Boot 测试

    我有一个要测试的 Spring Boot REST API 我可以在 Eclipse 中手动运行测试 无需 Maven 并通过将应用程序作为 JUnit 测试运行 它运行良好并显示结果 但是mvn test正如您将在下面发现的那样 它不起作
  • cucumber.json 报告被重新运行场景报告覆盖

    我有一个具有相同技术堆栈 JAVA1 8 Cucumber JVM JUnit Maven 的 UI 测试项目和一个 API 测试项目 这两个项目都向我展示了这个问题 可能是因为两者都存在相同的依赖关系集 我使用了使用 maven sure
  • 为什么需要添加工件 JSR305 才能使用 Guava 14+?

    在stackoverflow上查找信息时 我看到了一个与我类似的问题 但没有真正的答案here https stackoverflow com questions 3800033 guava r07 gwt and javax annota
  • 使用 IntelliJ 调试 Java 进程 - 连接到套接字但不连接到目标 VM

    现在已解决 请参阅问题末尾 我正在尝试使用 IntelliJ Community Edition 的调试器来调试 Java 进程 套接字正在侦听 但是当我尝试连接时 调试过程显示以下内容 连接到目标虚拟机 地址 8003 传输 socket
  • 将可区分的联合传递给 InlineData 属性

    我正在尝试对一个解析器进行单元测试 该解析器解析字符串并返回相应的抽象语法树 表示为可区分的联合 我认为使用 Xunit Extensions 属性会非常紧凑InlineData将所有测试用例堆叠在一起
  • Intellij Idea 终端快捷方式不起作用

    我目前正在使用 Intellij Idea 2016 2 4 并在 Windows 10 上运行 我注意到Alt F12打开终端的命令和Alt F7用于查找特定方法的用法的命令均已停止工作 我已经尝试过以下方法 文件 gt 使缓存无效并重新
  • C# .NET 4.0 测试框架?

    如果我没记错的话 NUnit 是单元测试事实上的标准 但我刚刚下载了它 编写了一个简单的测试 然后显然我必须启动 GUI 并加载我的 exe组装 根本就失败了 我尝试编辑 C Program Files x86 NUnit 2 5 7 bi
  • 模拟对象不具有智能感知中显示的所有属性 - 在一个项目中,但在另一个项目中具有它们

    我正在嘲笑 VSTO 对象 在一个项目 我没有写 中它有以下代码 var listOfSheets new List
  • 如何在android sdk上使用PowerMock

    我想为我的 android 项目编写一些单元测试和仪器测试 然而 我遇到了一个困扰我一段时间的问题 我需要模拟静态方法并伪造返回值来测试项目 经过一些论坛的调查 唯一的方法是使用PowerMock来模拟静态方法 这是我的 gradle 的一
  • 如何加入groovy中的地图列表

    如果我有两个 groovy 地图列表 def x a 1 b 2 a 1 b 3 a 2 b 4 def y f 10 b 2 g 7 f 100 b 3 g 8 f 20 b 4 g 9 我如何根据特定属性加入它们 在上面的示例中 值b

随机推荐