我想重新运行一个我知道会失败的测试,因为我正在尝试测试 Surefire 参数以重新运行失败的测试。我尝试使用这两个命令运行 Maven 它们都没有按预期工作
-Dsurefire.rerunFailingTestsCount=2 -Dtest=TestThatFails test
Run Code Online (Sandbox Code Playgroud)
和
-Dsurefire.rerunFailingTestsCount=2 -Dtest=TestThatFails surefire:test
Run Code Online (Sandbox Code Playgroud)
这是其中的一部分 pom.xml
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-api</artifactId>
<version>2.19.1</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.53.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
Run Code Online (Sandbox Code Playgroud)
我原以为 Surefire 会在失败后重新启动测试,但 Maven 只是抛出此错误,我知道如何解决,但我希望重新运行测试。
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-api</artifactId>
<version>2.19.1</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.53.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
Run Code Online (Sandbox Code Playgroud) 我正在使用用java编写的用于ui测试的黄瓜.我正在尝试实现黄瓜插件来重新运行失败的场景,并创建了第二个类作为这些场景的跑步者:
头等舱
@RunWith(Cucumber.class)
@CucumberOptions(
monochrome = true,
strict = true,
tags = {"@lakeisha"},
features = ".",
format = {"html:target/cucumber", "json:target/cucumber.json"},
plugin = {
"pretty", "html:target/cucumber-reports",
"json:target/cucumber.json",
"rerun:src/test/resources/rerun.txt" //Creates a text file with failed scenarios
})
public class RunCukeTestsIT extends BaseCucumberRunner {
}
Run Code Online (Sandbox Code Playgroud)
第二课:
@RunWith(Cucumber.class)
@CucumberOptions(
monochrome = true,
tags = {"@lakeisha"},
features = "@src/test/resources/rerun.txt", //Cucumber picks the failed scenarios from this file
format = {"html:target/cucumber", "json:target/cucumber.json"}
)
public class ReRunCukeTestsIT extends BaseCucumberRunner{
}
Run Code Online (Sandbox Code Playgroud)
我正在使用测试
mvn clean verify -Dcucumber.options=" --tags @lakeisha" …Run Code Online (Sandbox Code Playgroud) 我正在使用jvm黄瓜并行插件,并希望重新运行我失败的测试用例.在.pom文件中需要进行哪些更改.
<plugin>
<groupId>com.github.temyers</groupId>
<artifactId>cucumber-jvm-parallel-plugin</artifactId>
<version>4.2.0</version>
<executions>
<execution>
<id>generateRunners</id>
<phase>generate-test-sources</phase>
<goals>
<goal>generateRunners</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/runner</outputDirectory>
<glue>
<package>com.xxx.stepdefs</package>
<package>com.xxx.cucumber.hooks</package>
</glue>
<featuresDirectory>src/test/resources/feature</featuresDirectory>
<cucumberOutputDir>${basedir}/target/cucumberreport/json</cucumberOutputDir>
<format>json</format>
<strict>true</strict>
<plugins>
<plugin>
<name>json</name>
</plugin>
</plugins>
<useTestNG>true</useTestNG>
<namingScheme>pattern</namingScheme>
<namingPattern>Parallel{c}TestRunner</namingPattern>
<parallelScheme>FEATURE</parallelScheme>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)