问题标签 [surefire]
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-2 - Maven Surefire:无法分叉并行测试执行
使用 Maven surefire,我无法分叉并行测试执行。也就是说,我的每个测试用例都需要在单独的 JVM 中运行,因此需要分叉。此外,我希望我的测试用例并行运行。第一部分工作没有问题:我能够在自己的 JVM 中运行每个测试用例。然而,第二部分对我来说仍然是一个挑战。我还没有设法让测试用例的并行执行工作。这是我的插件声明的样子:
我已经尝试了方法和类,但没有看到任何并行化。我的 JUnit 版本是 4.7,如依赖声明所示:
任何帮助都会非常有用。
格雷戈里。
eclipse - 如何更轻松地调试 Maven Surefire 测试(使用 Eclipse 作为调试服务器)
我正在使用 maven/surefire/eclipse 编写一些代码,然后对其进行测试/调试。
标准方法是使用 maven.surefire.debug maven 属性。默认情况下,启用此属性时,maven 开始侦听端口 5005,我可以使用远程调试器附加到被调试的进程。当测试完成时,远程调试器与服务器断开连接。
在 eclipse 中使用时,此过程涉及两个步骤:
- 运行行家
- 使用远程启动配置连接
我想要实现的是将其减少到:
- 运行行家
我发现,将 maven.surefire.debug 属性设置为一些远程调试选项会改变远程调试行为。因此,当我指定即
-Dmaven.surefire.debug="-Xdebug -Xrunjdwp:transport=dt_socket,server=n,address=5005"
然后 build 将尝试连接到监听端口 5005 的我的 Eclipse 进程。这样我反转了 Maven 和 Eclipse 的默认客户端/服务器角色。
然而,这种方法存在一个大问题。它没有给我任何东西,因为在 maven 构建完成后,eclipse 停止侦听服务器端口。这是我不明白的部分。当我作为调试客户端从 Eclipse 连接到例如 WebLogic 服务器时,它允许我随意连接/断开连接任意多次。
任何人都知道这是否正常,或者我可能需要指定一些额外的选项来使调试 maven 测试更容易?
java - surefire forkMode 仅导致最后一个测试记录在 TestSuite.txt
我的 pom.xml 中有以下内容
当我执行“mvn test”时,最后我只能在 TEST-TestSuite.txt 中获得最后一次测试运行的结果。
我确实希望启用分叉,因为我正在测试一些 Cassandra 交互并且我想做间歇性的数据库清理。
maven-2 - maven surefire 下的日志记录级别
我无法调整 java 日志的日志级别。我正在使用 maven surefire (mvn test),并尝试从默认的 INFO 调整为例如 FINEST。
我在src/test/resources/logging.properties下有 logging.properties 文件
编译后,我在 target/test-classes 下看到了一个带有预期配置的 logging.properties 文件:
java.util.logging.ConsoleHandler.level=FINEST
javax.enterprise.system.container.ejb.level=FINE
...
但是 glassfish 的控制台输出只有 INFO / SEVERE 级别的消息。
我哪里做错了?或者这是与 Maven 对接的另一个痛苦?
maven-2 - 在测试阶段生成 html surefire 测试 html 输出
我不确定这是否是一个简单的问题,但我希望在测试阶段生成 html 格式的输出文件(除了 xml 和 txt 格式的输出文件)。
我试图通过为 build>surefire 添加一个“执行”条目来实现这一点。这是正确的位置吗?如果是这样,我做错了吗?
java - 使用 Surefire 和 TestNG 运行单个测试类或组
我想使用 Maven 和 TestNG 从命令行运行单个测试类
不起作用的事情:
我在 pom.xml 中定义了组,而这个类不在其中一个组中。所以它基于这些理由被排除在外。
当配置是
在 pom.xml 中没有定义组时,参数工作正常。
同样,当surefire配置为
我可以添加另一个带有-Dtest
参数的测试,但不能添加组。在任何组合中,我都可以缩小要与组一起执行的测试,但不能扩展它们。
我的配置有什么问题?有没有办法在 pom.xml 中定义的测试或组之外运行单个测试或组?
在 Ubuntu 10.04 上试用 Maven 2.2.1、TestNG 5.14.6 和 Surefire 2.7.1
java - 如何将失败的测试轨迹输出到控制台
我正在从 Maven 运行一个测试:
mvn test -Dtest=TestCircle
/target/...
如果测试失败,Maven 会在文件夹中输出异常。
有没有办法告诉 Maven 这个异常应该直接打印在控制台上,这样我就不用查看了/target/surefire-reports/...
?
java - Maven/Surefire 找不到要运行的测试
据我所知,测试文件的位置是正确的。
当我运行“mvn test”时,它会找到四个名为 SomethingTest 的类(它们位于“test”文件夹中)。
但是,它会忽略任何 jUnit 测试(jUnit 4,使用 @Test 注释)。
我该如何调试?
编辑- 这可能与包含的 jUnit 版本错误有关。我在运行“mvn -X”时看到了这个
尽管我在根 pom 中的第一个依赖项是在 jUnit 4.8.1 上,但出于某种原因,jUnit 3.8.1 也被包含在内。
编辑 2 - 好的,这似乎不是答案。测试类路径包括正确的 jUnit (4) 和我的测试类。
编辑 3 - 我有名为 SomethingTester 的测试类。当我将其更改为SomethingTest时,它起作用了。我检查了 Surefire 的包含模式,确实它没有被配置为捕获Something Tester。多哈。
java - 使用 netbeans 调试 Maven 测试?
我正在尝试在 NetBeans 6.9.1 中调试 Maven 测试。有谁知道该怎么做?我问的原因是因为如果我使用 Maven 运行测试,它们都会通过。但是,如果我使用 NetBeans 调试我的测试(右键单击测试类 -> 调试测试文件),我的测试将失败,因为我设置了 Surefire 来处理我的测试,而 NetBeans 似乎使用它自己的测试运行器。我注意到 Surefire 有一个调试选项,但是你将如何在 NetBeans 中使用它,即让它在 NetBeans 中的断点处停止?
谢谢你的帮助。
java - JUnit runner 从 java.io.Writer 获取 NullPointerException
我从 Maven Surefire 插件收到 NullPointerException。它只发生在使用 DBUnit 的测试上。Surefire 报告文件为空。
当我尝试使用 JUnit 运行器从 NetBeans IDE 运行相同的测试时,我得到了相同的异常:
java.io.Writer 类的write方法只有一个 String 参数。这意味着跑步者必须将 null 作为参数传递。但这是怎么发生的?