天道酬勤,学无止境

maven-failsafe-plugin

Maven 故障安全插件 - SurefireBooterForkException: 分叉过程中出现错误 (TypeNotPresentExceptionProxy)(Maven Failsafe plugin - SurefireBooterForkException: There was an error in the forked process (TypeNotPresentExceptionProxy))

问题 我在运行mvn clean verify -P P1时得到这个奇怪的堆栈跟踪 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-failsafe-plugin:2.21.0:verify (default) on project prj-name: There are test failures. [ERROR] [ERROR] Please refer to C:\path\to\project\target\failsafe-reports for the individual test results. [ERROR] Please refer to dump files (if any exist) [date]-jvmRun[N].dump, [date].dumpstream and [date]-jvmRun[N].dumpstream. [ERROR] org.apache.maven.surefire.booter.SurefireBooterForkException: There was an error in the forked process [ERROR] sun.reflect.annotation.TypeNotPresentExceptionProxy [ERROR]

2021-10-22 02:07:06    分类:技术分享    maven   spring-boot   exception   maven-failsafe-plugin

Maven - 添加集成测试(Maven - Add Integration Tests)

问题 试图将我在 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

2021-10-19 16:44:08    分类:技术分享    maven   maven-plugin   maven-failsafe-plugin   build-helper-maven-plugin

功能文件的并行执行:maven-failsafe-plugin 与 Cucumber-jvm-parallel-plugin(Parallel execution of features files : maven-failsafe-plugin vs cucumber-jvm-parallel-plugin)

问题 目前我正在使用 maven-failsafe-plugin 与 Selenium Grid + 节点并行运行多个功能文件(都在 docker 容器中运行) 我的基本问题如下 什么时候使用cucumber-jvm-parallel-plugin? 与 maven-failsafe-plugin 并行执行相比,cucumber-jvm-parallel-plugin 的优点/缺点是什么? 提前致谢。 回答1 下面是答案 “并行运行 Cucumber 功能的一种常见方法是创建一套 Cucumber 运行程序,为您希望并行运行的每组测试创建一个。为了最大程度的并行性,每个功能文件应该有一个运行程序。这很痛苦保持而不是很干。” https://github.com/temyers/cucumber-jvm-parallel-plugin/issues/139 额外细节 - ..尽管它的名字是cucumber-jvm-parallel-plugin 不运行任何测试,它只是自动为你生成Cucumber runner。 这可以节省您制作空运行器文件的时间,并且只需更改黄瓜-jvm-parallel-plugin 的配置,您就可以拥有全新的运行器文件集.. 复制自 http://automationrhapsody.com/running-cucumber-tests-in-parallel/

2021-10-16 10:20:12    分类:技术分享    selenium   cucumber   cucumber-jvm   maven-failsafe-plugin

如何在不解压依赖 jar 的情况下运行带有故障安全的 TestNG 套件?(How to run TestNG suite with failsafe without unpacking dependency jar?)

问题 我想使用包含在依赖项 jar 中的 TestNG 套件文件执行集成测试。 设置 pom.xml 的细节在这里讨论 这是我目前拥有的 pom 文件。 问题在于我需要定义套件文件的部分: <?xml version="1.0" encoding="UTF-8"?> <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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>test</groupId> <artifactId>test-runner</artifactId> <version>1.0.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>${test.library.groupId}</groupId> <artifactId>${test.library.artifactId}</artifactId> <version

2021-10-08 18:17:58    分类:技术分享    java   maven   testng   maven-surefire-plugin   maven-failsafe-plugin

在多模块 Maven 项目中构建所有模块后如何运行集成测试?(How can I run integration tests after building all modules in a multi-module Maven project?)

问题 我正在处理一个大型的多模块 Maven 项目。 每个模块都有快速的单元测试(使用 Surefire 插件),许多模块的集成测试速度很慢(使用 Failsafe 插件)。 我想通过在所有模块构建和单元测试后运行所有模块的集成测试来加快对“简单”构建失败(编译错误和单元测试失败)的反馈。 你能提出一个实现这一目标的好方法吗? 回答1 在所有模块构建和单元测试之后运行所有模块的集成测试 为了满足这个要求,一个可能的解决方案是有一个额外的(可选)模块提供集成测试,也就是说,所有的集成测试都应该移动到这个模块,它可以通过配置文件添加到默认构建中。 <profiles> <profile> <id>it</id> <modules> ... <module>it-module</module> </modules> </profile> </profiles> 为了将其作为 Maven Reactor 构建的最后一步,该模块还应该依赖于所有其他模块(可能已经隐含地如此)。 该模块实际上是唯一提供maven-failsafe-plugin配置和设置的模块。 此外,在使用嵌入式服务器(即 Jetty)进行测试的情况下,它可能变得更有意义:服务器将仅在构建此模块期间创建和关闭,而不是在每个需要它的模块中,加速在这个整合阶段。 作为构建的最后一个模块

2021-10-08 09:59:16    分类:技术分享    maven   testing   maven-surefire-plugin   maven-failsafe-plugin

配置 maven-failsafe-plugin 以查找不在 src/test/java 中的集成测试(Configuring maven-failsafe-plugin to find integration tests not in src/test/java)

问题 我的目录结构是这样的: src/integrationTest/java src/test/java src/main/java 我试图获得故障安全以进行集成测试,但未能按照我想要的方式进行。 我试过这个: <plugin> <artifactId>maven-failsafe-plugin</artifactId> <version>2.17</version> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> <configuration> <testSourceDirectory>src/integrationTest/java</testSourceDirectory> <testClassesDirectory>${project.build.directory}/it-classes</testClassesDirectory> </configuration> </plugin> 和这个: <plugin> <artifactId>maven-failsafe-plugin</artifactId> <version>2.17</version> <executions>

2021-10-07 21:14:44    分类:技术分享    java   maven   maven-failsafe-plugin

如果集成测试失败,则跳过 maven 中的构建失败(Skip Build failure in maven if the integration test fails)

问题 即使集成测试失败,我也想跳过构建失败。 我正在使用 maven-failsafe 进行集成测试。 我目前得到以下信息: Failed to execute goal org.apache.maven.plugins:maven-failsafe-plugin:2.15:verify (default) on project xxxxx: There are test failures. 问题:我可以将以下内容用于 Maven 故障安全插件吗? 我知道它适用于 Surefire 插件,但不确定是否适用于故障安全。 -Dmaven.test.failure.ignore=true 回答1 是的,相同的参数对maven-failsafe-plugin 。 从验证目标的文档中,您可以将 testFailureIgnore 设置为true : 将此设置为 true 以忽略测试期间的失败。 不推荐使用它,但有时非常方便。 类型: boolean 要求:否用户属性: maven.test.failure.ignore 默认值: false 相应的用户属性是maven.test.failure.ignore ,这意味着在命令行上设置该属性将忽略测试失败。 回答2 verify目标的 Maven 故障安全插件文档也提供了这个选项: 将此设置为 true 以忽略测试期间的失败。 不推荐使用它

2021-09-30 14:33:19    分类:技术分享    maven   jenkins   maven-failsafe-plugin

为什么“mvn verify”不运行我的集成测试?(Why doesn't “mvn verify” run my integration tests?)

问题 我有一个多模块项目,并且在根 pom 中定义了故障安全,如下所示: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>2.19</version> <configuration> <includes> <include>**/*IntegrationTest.java</include> <include>**/*JourneyTest.java</include> <include>**/*CucumberFeatureTest.java</include> </includes> </configuration> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.19</version

2021-09-29 20:32:50    分类:技术分享    java   maven   maven-failsafe-plugin

Maven + Surefire/Failsafe - forkMode="perthread" 不起作用......解决方法?(Maven + Surefire/Failsafe - forkMode="perthread" is not working ... a workaround?)

问题 我们正在开发基于嵌入式 Infinispan 数据网格集群的应用程序。 在我们的应用程序的目标环境中,数据网格的每个成员都将运行在一个独立的 JVM 中,并使用jgroup形成集群(这实际上是由 Infinispan 完成的)。 为了对这个数据网格进行一些自动化测试,我们使用maven-surefire-plugin (或maven-failsafe-plugin )使用以下配置: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <forkMode>perthread</forkMode> <threadCount>4</threadCount> </configuration> </plugin> 因为此配置应该为每个测试用例类创建一个分支(使用 4 个并行进程),所以我们创建了 4 个测试类,其中每个类将模拟一个集群成员。 在每个测试用例类中,由于 TestNG,我们将有多个线程并行运行测试方法,如下所示: @Test(threadPoolSize = 3, invocationCount = 2, timeOut = 10000, testName="Test 1") public

2021-09-11 03:14:30    分类:技术分享    maven   maven-2   infinispan   surefire   maven-failsafe-plugin

Skip Build failure in maven if the integration test fails

I want to skip the build failure even if the integration test fails. I am using maven-failsafe for Integration test. I am currently getting the following: Failed to execute goal org.apache.maven.plugins:maven-failsafe-plugin:2.15:verify (default) on project xxxxx: There are test failures. Question: Can I use the following for Maven Failsafe Plugin? I know it works for the Surefire plugin, but not sure for failsafe. -Dmaven.test.failure.ignore=true

2021-09-06 03:13:18    分类:问答    maven   jenkins   maven-failsafe-plugin