我使用"mvn test"来运行cucumber测试,但是当我尝试用-Dcucumber.options=...在命令行上传递选项时,这些选项将被忽略,并使用运行类中@CucumberOptions中指定的选项。例如,如果我只是试图显示cucumber帮助,它会忽略它,只是运行测试:
C:\Maven\ArchCuke\untitled>mvn test -Dcucumber.options="--help"
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------< org.example:untitled >------------------------
[INFO] Building untitled 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ untitled ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\Maven\ArchCuke\untitled\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ untitled ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ untitled ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ untitled ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to C:\Maven\ArchCuke\untitled\target\test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.22.2:test (default-test) @ untitled ---
[INFO]
[INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.example.steps.CucumberTestRunner
Scenario: Add two numbers # features/arith.feature:4
Given A Calculator # org.example.steps.ArithSteps.aCalculator()
When I add 2 and 2 # org.example.steps.ArithSteps.iAddAnd(int,int)
Then I get 4 # org.example.steps.ArithSteps.iGet(int)
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.253 s - in org.example.steps.CucumberTestRunner
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.815 s
[INFO] Finished at: 2020-11-05T10:51:50-08:00
[INFO] ------------------------------------------------------------------------
C:\Maven\ArchCuke\untitled>
这是我的跑步班
package org.example.steps;
import io.cucumber.junit.Cucumber;
import io.cucumber.junit.CucumberOptions;
import org.junit.runner.RunWith;
@RunWith(Cucumber.class)
@CucumberOptions(
features = {"classpath:features"},
plugin = {"pretty"}
)
public class CucumberTestRunner {
}
这是我的pom.xml.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>untitled</artifactId>
<version>1.0-SNAPSHOT</version>
<name>untitled</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
<junit.version>4.13</junit.version>
<cucumber.version>6.8.0</cucumber.version>
<maven.compiler.version>3.8.1</maven.compiler.version>
<maven.surefire.version>2.22.2</maven.surefire.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>${cucumber.version}</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>${cucumber.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compiler.version}</version>
<configuration>
<encoding>UTF-8</encoding>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven.surefire.version}</version>
<!-- Include our runner class or 'mvn test' won't work; name doesn't match default template.
See https://maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html -->
<configuration>
<includes>
<include>CucumberTestRunner.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</project>
我尝试了surefire插件的3.0.0-M5版本,而不是2.22.2版本,得到了相同的结果。我做错了什么?
已弃用并删除cucumber.options
属性。必须将每个选项作为单个属性传递。
mvn test -Dcucumber.filter.tags='@smoke and not @ignore'
https://github.com/cucumber/cucumber-jvm/blob/main/release-notes/v5.0.0.md#property-基于期权
有时,我们编写的代码并没有准备就绪,并且测试用例要测试该方法/代码是否失败(或成功)。 在本示例中,注释有助于禁用此测试用例。 如果使用注释在测试方法上,则会绕过这个未准备好测试的测试用例。 在本教程中,我们将演示如何使用来忽略测试方法。 创建一个Maven项目,其结构如下所示 - pom.xml 依懒包配置 - 创建一个测试类:TestIgnore.java,其代码如下所示 - 运行上面代码,得
有时,在运行测试用例时,我们的代码并没有完全准备就绪。 结果,测试用例失败。 @Ignore注释在这种情况下@Ignore帮助。 使用@Ignore注释的测试方法将不会被执行。 如果测试类使用@Ignore注释,则不会执行任何测试方法。 现在让我们看看@Ignore在行动。 创建一个类 (Create a Class) 在C:\“JUNIT_WORKSPACE中创建一个要测试的java类,比如Me
我正在测试Quarkus应用程序,我想忽略一些测试。 测试类用,以及带有 我试图使用注释,但它不起作用,被忽略的测试无论如何都会执行。 这是代码: 有人知道我怎么才能做到这一点吗?
有时候,我们的代码没有准备就绪并且编写测试用例来测试该方法/代码失败。 在这种情况下,注释@Test(enabled = false)有助于禁用此测试用例。 如果使用@Test(enabled = false)注释测试方法,则会绕过未准备好测试的测试用例。 现在,让我们看看@Test(enabled = false)。 创建一个类 (Create a Class) 在C:\》TestNG_WORK
问题内容: 我到底应该输入什么? 测试?这样的东西,?运行模块时不需要什么(自述文件除外)? 我对此没有任何指导。 问题答案: 正如您可能发现的那样,NPM并没有具体说明应该放入的内容,而是有一个默认忽略文件列表。许多人甚至不使用它,因为如果不存在,默认情况下会忽略其中的所有内容。此外,默认情况下,无论设置如何,许多文件都将被忽略,并且某些文件总是会被忽略,如上面的链接所述。 关于应该永远存在的东
目前我的工作解决方案是: =3.0.0=5.2.0 然而,当我通过Maven运行测试时,JUnit5测试被忽略了。 编辑: 测试类为: