问题标签 [maven-failsafe-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
maven - 故障安全插件不会在一个项目上运行,但会在另一个项目上运行——为什么?
这让我发疯。Maven 故障保护插件不会在我的项目上运行。如果我mvn verify
只运行肯定会运行。如果我键入mvn failsafe:verify
它会失败并出现以下错误:
它抱怨找不到failsafe-summary.xml
。但这应该由插件创建。该插件工作正常(failsafe-summary.xml
如果我运行 Antonio Goncalves 精彩的Arquillian 示例项目,则会创建文件。
所以我复制了 Antonio 使用的确切插件信息,但它仍然无法在我的项目上运行。我已经将我的 POM 建模为与他的完全一样(除了没有父 pom)——一定是出了问题,我只是不知道是什么。为什么故障保护会在他的项目上运行而不是我的?
这是我的故障安全 pom.xml 条目,它取自他的,与故障安全 usaages 站点上的条目相同):
感谢您的帮助,这让我发疯了。
更新好的,我似乎已经解决了cannot find failsafe-summary.xml
问题——我将目录从 更改experiment_server
为experiment-server
. 我想这会破坏故障安全。
但是,我仍然无法从命令mvn verify
或mvn integration-test
. 这两个命令都调用surefire而不是failsafe。我现在可以使用命令直接运行故障安全:mvn failsafe:integration-test
,但不应该自动运行故障安全mvn verify
吗?我的mvn help:effective-pom
节目表明故障安全存在,所以这不是问题......有什么想法吗?
testng - TestNG - 带有故障安全插件的自定义报告侦听器问题
我有一个项目,我在其中使用 mavenfail-safe
插件来运行集成测试。我正在使用Maven + TestNG
框架组合。为了项目的目的,之前我已经修改了TestNG的默认XML报告来定制项目的需要。
我在扩展 TestNG接口的CustomReporter类中实现了上述要求。IReporter
早些时候我使用surefire
插件来运行这些测试方法,并listener mechanism
在surefire插件中添加按预期工作。
现在对于某些项目需求,我需要迁移到故障安全插件。所以我通过配置POM文件绕过了test
阶段执行。surefire
然后我在 POM 文件中添加了故障安全配置,如下所示;
使用这个新的 POM,使用插件的集成测试调用failsafe
失败。以下是日志;
尽管我failsafe
在阶段使用插件,但integration-test
我得到了异常
使用:org.apache.maven 配置 TestNG。surefire
.testng.conf.TestNGMapConfigurator@ab50cd org.apache.maven.surefire.util.`SurefireReflectionException
如何解决这个问题?
注意:当我尝试使用surefire
插件执行测试时,侦听器机制按预期工作。
eclipse - 如何在 Eclipse 中使用 JUnit RunListener?
我为 JUnit 编写了一个简单的 RunListener,它与 Maven 配合得很好。我可以通过 maven-failsafe-plugin 注册它
并查看侦听器的正确输出。
现在,当我运行测试时,我想在 Eclipse 中注册相同的 RunListener 以在那里看到相同的输出。
这可能吗?出于测试目的并保持一致,最好有相同的输出。
maven - Maven Failsafe 插件和多模块项目:如何使用反应器中的其他模块?
我正在使用以下格式在多模块项目上运行目标故障安全:集成测试:
父级:
--------Module_A
--------Module_B
考虑一个通过 Test_B1_IT(在模块 B 中)测试 Class_A1(在模块 A 中)中的某些内容。
您现在更改 Class_A1 并且测试现在失败。但是,如果您运行目标
测试仍将通过 - 在您运行部署目标之前不会反映更改。我相信目标是使用存储库中的 jar,而不是当前反应堆的最新版本。
如果您运行 integration-test 它可以工作......但它似乎也运行所有单元测试(似乎没有办法跳过单元测试并运行 _IT 集成测试)。
我还看到它适用于目标集成测试,或者如果我在故障安全目标之前添加“编译”。但是,第一个选项运行所有测试(单元 + 集成)
这是故障安全插件的问题,还是 maven 处理多模块项目中依赖项的方式?最好的方法应该是添加编译选项吗?
maven - Maven + Surefire/Failsafe - forkMode="perthread" 不起作用......一种解决方法?
我们正在开发基于嵌入式 Infinispan 数据网格集群的应用程序。在我们应用程序的目标环境中,数据网格的每个成员都将运行在一个独立的 JVM 中,并jgroup
形成使用集群(这实际上是由 Infinispan 完成的)。
为了在这个数据网格上做一些自动化测试,我们正在使用maven-surefire-plugin
(或maven-failsafe-plugin
)这个配置:
因为这个配置应该为每个测试用例类创建一个分支(使用 4 个并行进程),所以我们创建了 4 个测试类,每个测试类都将模拟一个集群成员。在每个测试用例类中,我们将有多个线程并行运行测试方法,这要归功于 TestNG,如下所示:
问题是maven-surefire-plugin
forkMode="perthread"
andthreadCount=4
是错误的:它不会为每个类创建一个 fork,而是多次创建同一类的 fork。所以,在我的场景中,它需要一个测试用例并并行运行 4 次!!!
注意:在此处检查 jira 错误。请投票!!!!
有人知道解决方法吗?我们正在做一些努力,ant
但变得非常混乱。
maven - Maven 将多个战争部署到嵌入式服务器以进行集成测试
我在嵌入式服务器上为自己的集成测试运行 maven war 项目没有问题,但现在我需要运行多个 war 并从不同的项目进行测试。
我想设置以下场景...
我的本地工作区中有两个 Maven 战争项目,分别称为 War1 和 War2。我想要第三个 Maven 项目 WarIntegration,它只包含集成测试并执行以下操作:
- 包战争1
- 包战争2
- 启动嵌入式服务器
- 将两个战争部署到同一个嵌入式服务器
- 运行包含在 WarIntegration 中的集成测试(这将对 War1 和 War2 进行 http 调用)
- 停止嵌入式服务器
这可能吗?什么插件设置可以实现这一点?WarIntergration 应该是一个什么样的项目(打包)?War1 和 War2 应该是 WarIntegration 或依赖项中的模块吗?是否可以将所有配置添加到 WarIntegration 项目中,还是必须将其分布在各个项目中?
这类似于这个问题,除了我们必须使用由项目启动和停止的嵌入式服务器(可能在我们运行验证时)并且我们需要一个单独的项目进行集成测试: 我有一个多模块 Maven 2 POM,它有两个 WAR,如何配置它以在运行测试之前部署两个战争?
maven - maven-failsafe-plugin not seeing my tests (seleniumHQ)
i'm writing tests via selenium web driver here's my code :
Pom.xml
My test class named GoogleTest.java. after reading this post : failsafe plugin won't run on one project but will run on another -- why?
I changed the name of my class so it's:
But the problem persist.
jenkins - 在 Jenkins v1.461 上使用 Maven 3 命中 org.apache.maven.lifecycle.LifecycleExecutionException
我正在尝试从 Maven 2 切换到 Maven 3 (v3.0.4)。使用的基本命令是 jenkins 上的 mvn clean verify。
当我在 jenkins 上运行构建时,我在它的控制台上得到以下堆栈跟踪:
我已经尝试在网上非常努力地搜索,尝试各种 pom 更改并使用 -e、-X、-fae 等运行 maven,但似乎没有什么能让我摆脱这个堆栈跟踪 :( .. 一直在苦苦挣扎现在几天。
任何能够提供一些建议和/或通过解决方案指出问题的人将不胜感激。
请注意,该项目的组织方式如下:
其中模块 6 对应于上面的 myProject,它依赖于一些库(即模块 1、模块 2 等)。
父 pom 有:
和
另请注意,当测试失败时,我会准确地看到问题,即当测试失败时,我想获得一个干净的(没有堆栈跟踪等)控制台输出。事实上,在我上面提到的故障排除过程中,我实际上设置了一个(故意)失败的测试。此外,当我查看“/home/tc/.jenkins/jobs/myProject-selenium-adhoc/workspace/target/failsafe-reports”时,故障安全报告/测试失败详细信息输出看起来不错,即我看到了预期的测试失败屏幕截图(我们框架中的自定义逻辑)以及各种摘要/报告,例如具有正确内容的 emailable-report.html。
谢谢 !
maven - 禁用万无一失并执行故障安全报告以在 Maven 项目中运行我的测试用例
在我的父 POM 中,我已经配置了确定的火灾报告。但是在某些模块中,我需要跳过确定的火灾报告生成,而是我想运行故障安全插件来生成测试报告。
我试过像
但似乎确凿的报告仍在运行。有什么办法可以克服吗?
java - 使用带有 Maven Failsafe 插件的 JUnit 类别
我正在使用 JUnit 类别将集成测试与单元测试分开。Surefire 插件配置有效 - 它跳过了使用我的标记接口 IntegrationTest 注释的测试。
但是,Failsafe 插件不选择集成测试。我什至尝试指定 junit47 提供程序,但在集成测试阶段运行零测试。
这是 pom.xml 片段:
这是日志的故障安全部分:
可以在日志输出中看到的提供程序 org.apache.maven.surefire.junitcore.JUnitCoreProvider 是正确的吗?