Tag: maven failsafe plugin

如何使用Maven Failsafe插件运行JUnit 5集成测试?

当我运行命令mvn clean failsafe:integration-test ,Mail Failsafe插件将找不到我的JUnit 5集成测试,尽管它可以找到文件。 我有junit-jupiter-api和junit-jupiter-engine作为测试依赖项: 5.0.1 org.junit.jupiter junit-jupiter-api ${junit.jupiter.version} test org.junit.jupiter junit-jupiter-engine ${junit.jupiter.version} test 我的集成测试正确命名(遵循**/*IT.java , **/IT*.java或默认包含在Failsafe中的**/*ITCase.java ,默认情况下由Surefire排除)。 有什么方法可以使用Failsafe进行JUnit 5测试吗?

如何运行带有故障安全的TestNG套件而无需解压缩依赖jar?

我想使用包含在依赖jar中的TestNG套件文件来执行集成测试。 这里将讨论设置pom.xml的详细信息 这是我目前拥有的pom文件。 问题在于我需要定义套件文件的部分: 4.0.0 test test-runner 1.0.0-SNAPSHOT ${test.library.groupId} ${test.library.artifactId} ${test.library.version} ${test.library.groupId} ${test.library.artifactId} ${test.library.version} tests org.apache.maven.plugins maven-failsafe-plugin 2.18 integration-test verify ${test.suite}.xml <!– << ${test.library.groupId}:${test.library.artifactId} 可以通过为Jenkins作业中的参数提供值来执行测试: -Dtest.library.groupId=com.example.test -Dtest.library.artifactId=example -Dtest.library.version=2.0.1 -Dtest.suite=smoke 如果套件文件在本地可用,这一切都可以正常工作,但我想使它只能在jar中使用套件文件(与测试类相同)。 没有拆包。 所以问题是:如何定义套件文件的位置(包含在依赖项中)? 这是有问题的部分: [whatComesHere?]${test.suite}.xml 如何在测试jar中包含的套件文件中指出failsafe / surefire? 或者这是不可能的,我只需要为了能够运行特定的套件文件而解压缩jar?

Maven故障安全不执行测试

我已经梳理了StackOverflow和许多其他网站,找到了许多其他相关的post,并且已经遵循了所有的建议,但最终, 故障安全正在跳过我的测试。 我的JUnit测试位于: myModule/src/main/test/java/ClientAccessIT.java 我正在跳过万无一失,因为这个模块中没有unit testing: org.apache.maven.plugins maven-surefire-plugin true 我正在尝试使用failsafe运行集成测试: org.apache.maven.plugins maven-failsafe-plugin run-tests integration-test integration-test verify 但是,当我运行mvn verify我看到了这个: [INFO] — maven-failsafe-plugin:2.14.1:integration-test (run-tests) @ rest-services-test — ——————————————————- TESTS ——————————————————- Results : Tests run: 0, Failures: 0, Errors: 0, Skipped: 0 我花了最后4个半小时的精练,任何帮助将不胜感激。 唯一可能值得一提的是我有Cargo设置并拆除Tomcat容器。 有没有人看到明显的问题? d

将JUnit类与Maven Failsafe插件一起使用

我正在使用JUnit Categories将集成测试与unit testing分开。 Surefire插件配置有效 – 它会跳过使用我的标记接口IntegrationTest注释的测试。 但是,Failsafe插件不会选择集成测试。 我甚至尝试指定junit47提供程序,但是在集成测试阶段运行零测试。 这是pom.xml片段: org.apache.maven.plugins maven-failsafe-plugin 2.12 integration-test com.mycompany.test.IntegrationTest com.mycompany.test.UnitTest org.apache.maven.surefire surefire-junit47 2.12 这是日志的故障安全部分: [INFO] — maven-failsafe-plugin:2.12:integration-test (default) @ MyProject.war — [INFO] Failsafe report directory: /home/stoupa/MyProject/war/target/failsafe-reports [INFO] Using configured provider org.apache.maven.surefire.junitcore.JUnitCoreProvider ——————————————————- TESTS ——————————————————- Concurrency config is parallel=’none’, perCoreThreadCount=true, threadCount=2, useUnlimitedThreads=false Results : Tests run: 0, Failures: 0, Errors: 0, […]

Maven Surefire插件:runOrder中filesystem的含义是什么?

我想知道我的集成测试是否会按特定顺序运行,并查看maven-failsafe-plugin 文档 ,即 runOrder : 定义测试运行的顺序。支持的值是“按字母顺序”,“反向字母”,“随机”,“每小时”(偶数小时按字母顺序排列,奇数小时反向按字母顺序排列),“失败第一”,“平衡”和“文件系统”。 奇数/偶数小时是在扫描类路径时确定的,这意味着它可能在多模块构建期间发生变化。 首先失败将首先运行先前运行失败的测试,以及此次运行的新测试。 Balanced仅与parallel = classes相关,并将尝试优化测试的运行顺序,以使所有测试同时完成,从而减少总体执行时间。 请注意,统计信息存储在pom.xml旁边名为.surefire-XXXXXXXXX的文件中,不应检入版本控制。 “XXXXX”是整个surefire配置的SHA1校验和,因此不同的配置将具有不同的统计文件,这意味着如果您更改任何配置设置,您将重新运行一次,然后才能建立新的统计数据。 键入: java.lang.String 自: 2.7 要求: No 默认值: filesystem 文件系统顺序是什么意思? 文件的创建顺序?

集成测试无法启动(Failsafe,Maven)

我正在尝试使用Maven Failsafe插件来运行此配置的集成测试: maven-failsafe-plugin 2.7.1 integration-test integration-test verify verify org.mortbay.jetty maven-jetty-plugin 6.1.7 8080 3600000 / 3 src/main/webapp/WEB-INF **/*.jsp **/*.html **/*.page **/*.properties **/*.xml start-jetty pre-integration-test run-war 0 true stop-jetty post-integration-test stop 一切都很好,直到Jetty在预集成测试阶段开始。 然后没有任何事情发生,好像在等待什么。 最后一行说: [INFO] Started Jetty Server 如何让测试在之后开始? 我使用mvn verify运行maven。

通过测试监听器删除(复制)失败的TestNG结果

与此处发布的解决方案类似, TestNG重试失败的测试不会输出正确的测试结果 ,我试图在onFinish(ITestContext上下文)中使用测试监听器删除(重复)测试结果。 虽然使用context.getFailedTests()。removeResult(result)删除结果似乎工作正常(结果实际上已被删除),但似乎有“其他一些点”从中拉出结果导致构建仍然失败。 另请注意,当我从上面的文章运行样本测试时(其中有一个重复失败被删除,一个通过测试),我得到的结果是“测试结果”(没有按预期清理)与“套件结果” (重复故障按预期删除)。 而且,报告从哪里获取结果以决定是否使构建失败? 或者只是它在我清理失败的测试之前拉动结果……? =============================================== Default test Tests run: 3, Failures: 2, Skips: 0 =============================================== =============================================== Default suite Total tests run: 2, Failures: 1, Skips: 0 =============================================== 编辑:只是为了澄清,我们正在使用maven运行这些测试,他们是IT,所以我们使用故障安全插件运行它们。 问题是即使看起来测试被删除,mvnvalidation仍然无法构建,因为它认为无论如何都会发现构建失败。 而且如果从Eclipse运行这样的测试,即使删除了测试,当套件完成时,仍然会在日志中打印失败。 关于RetryAnalyzer:我根本不会考虑使用RetryAnalyzer良好/最佳实践,但如果您发现自己处于需要解决问题的情况,例如您inheritance了依赖RetryAnalyzer的测试套件,您可能会觉得这很有用。

Maven Failsafe插件:如何使用集成前和集成后测试阶段

我不完全清楚如何最好地使用Maven Failsafe插件进行集成测试。 我的用例是针对本地MySQL数据库测试SQL查询。 我知道数据库应该在pre-integration-test阶段启动,并在post-integration-test期间关闭。 但是我如何指定呢? 我应该在我的pom.xml中放一个命令行吗? 或者我应该使用特定注释进行注释的方法?