【问题标题】:Disable selenium tests in "mvn test" runs在“mvn test”运行中禁用硒测试
【发布时间】:2019-09-24 20:39:09
【问题描述】:

我只想在提供特殊标志的情况下运行 selenium 测试,例如

mvn -DrunUiTests=true 测试

我正在使用 Junit5。我已经试过了:

  • 一个环境变量。但无论如何,测试都会被实例化。
  • 自制注释
@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@ExtendWith(DisableUITests.class)
public @interface UITest { }

如果设置了环境变量,DisableUITests 返回 ConditionEvaluationResult.enabled。但是在控制台上运行的 maven 会忽略该注释。

此外,它还尝试了 surefire 插件:

           <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M3</version>
                <configuration>
                    <excludes>
                        <exclude>**/*UiTest.java</exclude>
                    </excludes>
                </configuration>
            </plugin>

但是我无法自己开始测试:-)

【问题讨论】:

  • 您是否考虑过在integration-test 阶段运行这些测试?这将在package 之后的后续构建阶段使用Maven Failsafe Plugin

标签: maven selenium


【解决方案1】:

恐怕surefire插件可以考虑的唯一条件是文件/测试名称模式。但是,您可以使用Conditionally ignoring tests in JUnit 4 中描述的方法,您可以将所需的系统属性测试为 Assumption

【讨论】:

  • 谢谢,我会试试的。我记得如果我们使用 gradle 并没有那么困难,但是......
猜你喜欢
  • 2019-02-19
  • 1970-01-01
  • 2015-12-21
  • 2014-11-11
  • 2015-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-08
相关资源
最近更新 更多