问题标签 [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.

0 投票
4 回答
7649 浏览

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_serverexperiment-server. 我想这会破坏故障安全。

但是,我仍然无法从命令mvn verifymvn integration-test. 这两个命令都调用surefire而不是failsafe。我现在可以使用命令直接运行故障安全:mvn failsafe:integration-test,但不应该自动运行故障安全mvn verify吗?我的mvn help:effective-pom节目表明故障安全存在,所以这不是问题......有什么想法吗?

0 投票
1 回答
1859 浏览

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插件执行测试时,侦听器机制按预期工作。

0 投票
3 回答
2837 浏览

eclipse - 如何在 Eclipse 中使用 JUnit RunListener?

我为 JUnit 编写了一个简单的 RunListener,它与 Maven 配合得很好。我可以通过 maven-failsafe-plugin 注册它

并查看侦听器的正确输出。

现在,当我运行测试时,我想在 Eclipse 中注册相同的 RunListener 以在那里看到相同的输出。

这可能吗?出于测试目的并保持一致,最好有相同的输出。

0 投票
1 回答
1239 浏览

maven - Maven Failsafe 插件和多模块项目:如何使用反应器中的其他模块?

我正在使用以下格式在多模块项目上运行目标故障安全:集成测试:

父级:
--------Module_A
--------Module_B

考虑一个通过 Test_B1_IT(在模块 B 中)测试 Class_A1(在模块 A 中)中的某些内容。

您现在更改 Class_A1 并且测试现在失败。但是,如果您运行目标

测试仍将通过 - 在您运行部署目标之前不会反映更改。我相信目标是使用存储库中的 jar,而不是当前反应堆的最新版本。
如果您运行 integration-test 它可以工作......但它似乎也运行所有单元测试(似乎没有办法跳过单元测试并运行 _IT 集成测试)。

我还看到它适用于目标集成测试,或者如果我在故障安全目标之前添加“编译”。但是,第一个选项运行所有测试(单元 + 集成)

这是故障安全插件的问题,还是 maven 处理多模块项目中依赖项的方式?最好的方法应该是添加编译选项吗?

0 投票
1 回答
2158 浏览

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但变得非常混乱。

0 投票
2 回答
2973 浏览

maven - Maven 将多个战争部署到嵌入式服务器以进行集成测试

我在嵌入式服务器上为自己的集成测试运行 maven war 项目没有问题,但现在我需要运行多个 war 并从不同的项目进行测试。

我想设置以下场景...

我的本地工作区中有两个 Maven 战争项目,分别称为 War1 和 War2。我想要第三个 Maven 项目 WarIntegration,它只包含集成测试并执行以下操作:

  1. 包战争1
  2. 包战争2
  3. 启动嵌入式服务器
  4. 将两个战争部署到同一个嵌入式服务器
  5. 运行包含在 WarIntegration 中的集成测试(这将对 War1 和 War2 进行 http 调用)
  6. 停止嵌入式服务器

这可能吗?什么插件设置可以实现这一点?WarIntergration 应该是一个什么样的项目(打包)?War1 和 War2 应该是 WarIntegration 或依赖项中的模块吗?是否可以将所有配置添加到 WarIntegration 项目中,还是必须将其分布在各个项目中?

这类似于这个问题,除了我们必须使用由项目启动和停止的嵌入式服务器(可能在我们运行验证时)并且我们需要一个单独的项目进行集成测试: 我有一个多模块 Maven 2 POM,它有两个 WAR,如何配置它以在运行测试之前部署两个战争?

0 投票
1 回答
1205 浏览

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.

0 投票
0 回答
2742 浏览

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。

谢谢 !

0 投票
0 回答
831 浏览

maven - 禁用万无一失并执行故障安全报告以在 Maven 项目中运行我的测试用例

在我的父 POM 中,我已经配置了确定的火灾报告。但是在某些模块中,我需要跳过确定的火灾报告生成,而是我想运行故障安全插件来生成测试报告。

我试过像

但似乎确凿的报告仍在运行。有什么办法可以克服吗?

0 投票
2 回答
7322 浏览

java - 使用带有 Maven Failsafe 插件的 JUnit 类别

我正在使用 JUnit 类别将集成测试与单元测试分开。Surefire 插件配置有效 - 它跳过了使用我的标记接口 IntegrationTest 注释的测试。

但是,Failsafe 插件不选择集成测试。我什至尝试指定 junit47 提供程序,但在集成测试阶段运行零测试。

这是 pom.xml 片段:

这是日志的故障安全部分:

可以在日志输出中看到的提供程序 org.apache.maven.surefire.junitcore.JUnitCoreProvider 是正确的吗?