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

0 投票
2 回答
3801 浏览

eclipse - 使用过滤的资源调试 maven junit 测试?

我们在 JUnit 测试中使用过滤的 testResources,这些测试通常由 maven surefire 插件执行。也就是说,pom包含一个section

如何在调试器中运行这样的 JUnit 测试?如果我在 Eclipse 中执行测试,则测试会失败,因为没有过滤测试资源。如果过滤后的测试资源将被写入目标目录的某个位置,我可以将其用作额外的源路径 - 但事实并非如此。如果我尝试使用 Debug As / maven test 在 Eclipse 中运行 maven 构建,则构建不会在断点处停止。还有其他想法吗?

0 投票
1 回答
794 浏览

maven-2 - Maven 测试失败 xml FileNotFoundException

我的 Maven 构建在 Hudson 上失败并出现 FileNotFoundException,我没有通过 NetBeans 遇到同样的失败。FileNotFoundException 适用于与我的测试类本身相同的包中的一些 xml 文件。看起来这些并没有像类文件一样作为构建的一部分被复制。我是否必须在我的 POM 中添加一些东西才能复制 xml 文件?

如果需要更多信息,请告诉我,我想保持问题简短,以防它很简单。

0 投票
1 回答
2878 浏览

maven-2 - 如何在 Maven/Surefire unittest 运行“mvn test”期间使清单可用?

如何在 Maven/Surefire unittest run "mvn test" 期间使清单可用?

我有一个开源项目,我正在从 Ant 转换为 Maven,包括它的单元测试。这是 Maven 项目的项目源存储库:http: //github.com/znerd/logdoc

我的问题与称为“基础”的主要模块有关。该模块有一个单元测试,用于测试getVersion()类中静态方法的行为org.znerd.logdoc.Library。此方法返回:

getImplementationVersion()方法返回清单文件中的设置值。到现在为止还挺好。我过去对此进行了测试,它运行良好,只要清单确实在路径的类路径上可用META-INF/MANIFEST.MF(在文件系统上或在 JAR 文件内)。

现在我的挑战是当我运行单元测试时清单文件不可用:

Surefire 运行单元测试,但我的单元测试失败并显示一条消息,指示Library.getVersion()返回null.

当我想检查 JAR 时,我发现它甚至还没有生成。在将资源添加到类路径之前, Maven/Surefire 针对类运行单元测试。

进一步调查显示 Surefire 在临时目录中生成自己的 JAR 文件,例如

然后使用这个 JAR 加载 Library 类。这个 JAR 不包含我停留在src/main/resources. 所以放一个META-INF/MANIFEST.MF文件也行不通。

那么我如何告诉 Surefire 让我的META-INF/MANIFEST.MF文件从与该类相同的类加载器中可用Library

请注意,我在 Mac OS X 10.6.2 上使用 Maven 2.2.0、Java 1.6.0_17 和 JUnit 4.8.1。

0 投票
1 回答
2142 浏览

maven-2 - 如何使用 JUnit 4 写一些东西到安全日志

是否可以从测试内部写一些东西到 surefire-reports/MyClass.txt ?任何类型的记录器等?TestNG中有一个记者:

并且该消息出现在报告中的测试方法下。JUnit中是否有类似的东西

0 投票
2 回答
5785 浏览

maven-2 - maven surefire additionalClasspathElements single test

I have one main and one test config file which is shared by several maven projects. While testing, I am specifying the classpath to the directory where the test config file is.

This works fine if the whole project is tested/build but it doesn't work while running single tests. The config file is not found in the classpath.

here is the config:

any ideas why surefire ignores the property for running single tests?

thank you

0 投票
2 回答
816 浏览

java - TestNG Ant 任务与 Surefire

我想知道在执行 TestNG 和 TestNG ant 任务时,surefire 有什么不同?原因是我在尝试运行扩展 JUnit 测试库的 TestNG 测试时看到了一致的行为差异(这是在此处描述的 TestNG 中运行 JBehave 测试的解决方法:http: //jbehave.org/documentation/faq/)。Surefire 错误地将我的测试检测为 JUnit 测试(可能是因为它的基础是 TestCase),而 Ant 任务运行良好。谁能提供有关 TestNG 如何处理这两种情况的见解?

测试如下:

0 投票
2 回答
34001 浏览

maven-2 - Maven surefire 插件 fork 模式

默认情况下,maven surefile 插件在隔离(分叉)环境中运行测试。您可以使用以下配置覆盖此行为:

如果你需要调试你的测试,你应该使用这个配置片段。或者您可以简单地按以下方式运行 maven build:

这将在端口 5005 上启动调试器。

我的问题是:分叉策略有什么好处,为什么选择作为 Maven 构建的默认策略?非分叉策略不是更直接,因此应该用作默认策略(maven 是配置工具的约定,对吧)?

0 投票
2 回答
4502 浏览

maven-2 - 我在哪里可以找到万无一失生成的 XML 的 DTD 或 XML 模式(TEST-.xml) 文件?

我在哪里可以找到 surefire 生成的 XML (TEST-.xml) 文件的 DTD 或 XML 架构?

0 投票
18 回答
122149 浏览

java - JUnit 测试在 Eclipse 中通过但在 Maven Surefire 中失败

我已经使用 JUnit 4 和 spring-test 库编写了一些 JUnit 测试。当我在 Eclipse 中运行测试时,运行良好并通过。但是当我使用 Maven 运行它们时(在构建过程中),它们无法给出与 spring 相关的错误。我不确定是什么导致了这个问题,JUnit、Surefire 还是 Spring。这是我的测试代码、spring 配置和我从 Maven 获得的异常:

PersonServiceTest.java

个人服务-test.xml

Maven 中的异常

0 投票
3 回答
5510 浏览

maven-2 - 从类路径运行 Maven 测试

为了清理一些乱七八糟的东西,我开始将我的测试代码全部放在一个普通的 java 项目中(全部在 src/main/java 中),然后将其声明为<scope>test</scope>另一个项目中的依赖项,并期望要运行的测试。

没有这样的运气。Surefire 只想运行它可以在源代码中看到的测试。

我可以在这里看到一个非常明显的解决方案,涉及 build-helper-plugin 并将测试作为源目录添加到测试编译环境中,但我希望避免它。

如果有人想知道,所有这一切的原因是使用故障安全插件运行一些集成测试的 POM 配置变得非常复杂,以至于我想将测试类的编译与测试的运行分开。