问题标签 [maven-surefire-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.
java - maven surefire 插件 - 指定单个测试 - 不运行
我有这个 Maven 配置文件设置。
当我运行配置文件时,包含的测试不运行!我究竟做错了什么?我什至用suitexmlfile尝试过,但我得到一个解析错误,它找不到类。
unit-testing - 通过 maven-surefire-plugin 测试我的项目时遇到问题
我在 Netbeans 中编写了我的 maven 项目。我为我的项目(dao、service..)编写了测试。所有测试都是正确的,但是当我构建或测试我的项目时,maven 显示没有要编译的测试。我使用的是 maven-surefire-plugin,所以将它包含到 pom.xml 中:
我认为surefire插件有问题..
那是:
maven-3 - maven-surefire 插件中的“default-test”代表什么
我在我的 pom 中定义了以下配置,以确保使用 TestNg:
但似乎这两次执行之前总是有一个“默认测试”运行,它似乎运行每个 @test 注释方法(至少我是这么认为的)。
例如在项目上运行“mvn test”,会执行两次测试。“默认测试”和“单元测试”。
有人可以向我解释一下吗?可以禁用或控制它(配置测试的内容和不测试的内容)吗?
java - maven-surefire-plugin 包含/排除优先级
当使用 maven-surefire-plugin 并且包含和排除时,它们按什么顺序处理?此外,如果您有 3 组测试,第一组是基本组,第二组和第三组是特殊情况,您可以使用配置文件进一步包含/排除吗?配置文件包含/排除设置将如何合并?例如,我想做这样的事情:
然后能够像这样运行:
或者
或者
- - 更新 - - -
使用mvn help:effective-pom -P [profileA]
我能够确定,如果我指定单个配置文件,则生成的有效 pom 将是:
如果我提供多个配置文件,则mvn help:effective-pom -P [profileA],[profileB]
:
最后,如果我将属性添加combine.children="append"
到配置文件配置的<includes>
元素中,并提供两个配置文件,则mvn help:effective-pom -P [profileA],[profileB]
:
但是,既然每个文件都被指定为 an<include>
和 an <exclude>
,会发生什么?
---- 更新 2 ----
实际上使用此配置运行构建:
不运行TestA,所以它看起来<exclude>
会压倒<include>
. 请注意,为了完整起见,我确实颠倒了顺序并放在<excludes>
前面,<includes>
但行为没有改变。 如果有人可以找到概述此行为的源代码之外的某个地方,我很乐意为他们提供答案...
junit - 如何将万无一失的报告分为 2 个或更多类别?
我想将测试分为 3 个不同的类别:
- 单元
- 组件
- 系统
然后我想在不同的阶段分别运行它们,并将这些测试的执行结果显示为 3 个不同的肯定报告,或者可能是一个,但测试结果分为 3 个不同的类别。
如何用maven实现它?
我知道我可以使用故障安全 Maven 插件单独运行测试。所以这不是问题。
唯一的问题是我可以将报告分为 3 类。
maven - maven-failsafe-plugin 没有执行我的集成测试
咆哮我实际pom的一部分。集成测试的 Testng 测试已在 @Test 注释中分配了一个“集成”组。为了做小测试,我没有在测试阶段排除“集成”组。
当使用例如 mvn verify 或 mvn install 构建时,集成测试在测试阶段执行,而不是在验证或集成测试阶段执行。运行的测试数仍然为 0。不知何故,它们没有被拾取。有人知道可能出了什么问题吗?
更新:将 TestNG 添加为故障安全插件的依赖项无济于事
maven - 更改 Maven 运行集成测试的时间
我们有单元测试(mockito)和集成测试(内存数据库) 我们希望 maven不将集成测试作为“mvn install”的一部分运行。基本上我认为这意味着重新配置生命周期,以便在安装和部署之间进行集成测试。这可能吗?
这样做的原因是集成测试有点费时,所以我们不希望他们在开发人员每次安装时都运行。但是,例如,我们希望它们在项目发布之前运行。
maven - 在测试之间与共享资源同时运行surefire
我有一个包含许多集成测试的项目,我正在尝试减少测试执行时间。这些测试都是使用数据库连接的 JUnit 测试。目前,所有测试都使用 maven-surefire-plugin 和 fork 为每个测试逐一运行,以处理缓存问题(这里的缓存不是问题)。
所有测试都使用坚持相同数据库架构的应用程序。这在尝试并行处理过程时面临挑战。
我找到了一个不错的博客,它在surefire http://incodewetrustinc.blogspot.com/2010/01/run-your-junit-tests-concurrently-with.html中解释了一些关于并发 的问题,但我仍然在实施这个解决方案时遇到问题,因为我有一个共享资源。
我的想法是创建多个模式并在线程\进程之间共享它们。如何为每个测试分配一个单独的连接并避免冲突?
我很想听听一些想法。
谢谢,伊卡。
java - Maven -Dtest=* 测试,似乎没有运行所有测试
我有一个 Jenkins CI 服务器,它设置了一个使用 maven-surefire 运行的 Selenium 测试项目。我需要将项目作为参数化构建,以便我可以通过带有 Dtest 作为参数的 URL 触发构建(并且只运行我在 url 中指定的测试)。这很好用。
不幸的是,在这个参数化配置中,我一直无法弄清楚如何运行所有测试。由于它处于参数化构建模式,我必须始终指定 -Dtest 参数。
根据Surefire 文档,似乎我应该能够对测试名称进行通配符,并且一切都会运行:
运行这些参数的奇怪结果是来自所有6
测试的打印语句(我创建的)(表示它们都已启动):
然后是仅 4/6 测试的标准测试结果(下)
接下来是总结:
如果重要的话,测试是使用surefire并行运行的,另外一件奇怪的事情是,在打印出单个测试结果时,在第4个结果之后,第5个结果开始打印,但从未显示结果,并且包括1美元在最后:
如果我能澄清任何事情或回答任何问题,请告诉我。
提前感谢您的帮助!
eclipse - 通过 Eclipse 运行 JUnit 测试时的 Maven 肯定参数
一个关于 Maven 的新手问题 - Surefire - Eclipse - JUnit
我在项目的 pom 文件中配置了 maven-surefire-plugin 以传递一些额外的 JVM 参数,如下所示:
当我从 Eclipse 作为 Run As->JUnit Test 运行这个项目的测试用例时,虽然类路径设置正确,但在 argLine 中指定的其他参数不包含在调用中。我必须去手动输入相关的参数Debug Configurations
。我不太明白 JUnit 如何知道它需要将测试范围的 jar 放在类路径上,并且在某种程度上意味着 Eclipse 中的 JUnit 工具通过 M2E 知道 Maven?如果是这样,我们怎样才能让它也读取argLine。我知道这听起来很具体 - 但其他人在类似情况下如何管理?
提前致谢!