maven-cucumber-reporting插件在最新的5.3.0版本中未生成报告。

huangapple go评论70阅读模式
英文:

maven-cucumber-reporting plugin is not generating the report - in latest 5.3.0 version

问题

经过从GitHub复制粘贴Maven Cucumber报告的代码后,报告未生成在目标文件夹中。我不确定出了什么问题。我尝试使用Runner类和MVN控制台运行,但都没有在目标文件夹中生成报告。

POM文件和Runner文件看起来都正常,但可能有一些其他配置或依赖关系的问题。请确保您的项目结构和依赖项设置正确,并检查是否存在任何错误消息或日志,以帮助确定问题所在。您还可以尝试使用mvn clean test或mvn clean install来查看是否生成报告。

如果问题仍然存在,请提供更多详细信息,以便我可以提供更多帮助。

英文:

After copy pasting the code from github for maven cucumber reporting, the report is not generated in the target folder. I'm not sure what went missing. I tried with running with Runner class and MVN console both result did not generate the report in the target folder

POM file

<?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>MavenWeb</groupId>
	<artifactId>Coderio_Demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>

	<name>Coderio_Demo</name>
	<!-- FIXME change it to the project's website -->
	<url>http://www.example.com</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
	</properties>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.13</version>

		</dependency>
		<dependency>
			<groupId>org.seleniumhq.selenium</groupId>
			<artifactId>selenium-java</artifactId>
			<version>3.141.59</version>
		</dependency>


		<!-- https://mvnrepository.com/artifact/info.cukes/cucumber-java -->
		<dependency>
			<groupId>io.cucumber</groupId>
			<artifactId>cucumber-junit</artifactId>
			<version>6.4.0</version>
		</dependency>
		<dependency>
			<groupId>io.cucumber</groupId>
			<artifactId>cucumber-java</artifactId>
			<version>6.4.0</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi</artifactId>
			<version>4.1.2</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi-ooxml</artifactId>
			<version>4.1.2</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-picocontainer -->
		<dependency>
			<groupId>io.cucumber</groupId>
			<artifactId>cucumber-picocontainer</artifactId>
			<version>6.4.0</version>
			<scope>test</scope>
		</dependency>



		<dependency>
			<groupId>io.github.bonigarcia</groupId>
			<artifactId>webdrivermanager</artifactId>
			<version>3.0.0</version>
		</dependency>
		<dependency>
			<groupId>de.monochromata.cucumber</groupId>
			<artifactId>reporting-plugin</artifactId>
			<version>4.0.56</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-core -->
		<dependency>
			<groupId>io.cucumber</groupId>
			<artifactId>cucumber-core</artifactId>
			<version>6.4.0</version>
		</dependency>


	</dependencies>

	<build>
		<pluginManagement><!-- lock down plugins versions to avoid using Maven 
				defaults (may be moved to parent pom) -->
			<plugins>
				<!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>2.18.1</version>
					<configuration>
						<testFailureIgnore>true</testFailureIgnore>
					</configuration>
				</plugin>

				<plugin>
					<groupId>net.masterthought</groupId>
					<artifactId>maven-cucumber-reporting</artifactId>
					<version>5.3.0</version>

					<executions>
						<execution>
							<id>execution</id>
							<phase>verify</phase>
							<goals>
								<goal>generate</goal>
							</goals>
							<configuration>
								<projectName>cucumber-jvm-example</projectName>
								<!-- optional, per documentation set this to "true" to bypass generation 
									of Cucumber Reports entirely, defaults to false if not specified -->
								<skip>false</skip>
								<!-- output directory for the generated report -->
								<outputDirectory>target/customizereports/</outputDirectory>
								<!-- optional, defaults to outputDirectory if not specified -->
								<inputDirectory>target/cucumber-reports/cucumber.json</inputDirectory>
								<jsonFiles>
									<!-- supports wildcard or name pattern -->
									<param>**/*.json</param>
								</jsonFiles>
								<!-- optional, defaults to outputDirectory if not specified -->
								<classificationDirectory>${project.build.directory}/classifications</classificationDirectory>
								<classificationFiles>
									<!-- supports wildcard or name pattern -->
									<param>sample.properties</param>
									<param>other.properties</param>
								</classificationFiles>
								<parallelTesting>false</parallelTesting>
								<!-- optional, set true to group features by its Ids -->
								<mergeFeaturesById>false</mergeFeaturesById>
								<!-- optional, set true to get a final report with latest results 
									of the same test from different test runs -->
								<mergeFeaturesWithRetest>false</mergeFeaturesWithRetest>
								<!-- optional, set true to fail build on test failures -->
								<checkBuildResult>true</checkBuildResult>
							</configuration>
						</execution>
					</executions>


				</plugin>

			</plugins>
		</pluginManagement>
	</build>
</project>

and this my runnerfile

package testRunner;

import org.junit.runner.RunWith;

//import cucumber.api.CucumberOptions;
import io.cucumber.junit.Cucumber;
import io.cucumber.junit.CucumberOptions;
//import cucumber.api.junit.Cucumber;

@RunWith(Cucumber.class)
@CucumberOptions(features = "src/test/java/Features/", plugin = { "json:target/cucumber-reports/cucumber.json",
		"pretty", "html:target/html-report/cucumber-html-reports.html",
		"junit:target/cucumber-reports/cucumber.xml" }, glue = {
				"StepDefination" }, tags = "@LogOut1wwww1", monochrome = true)
public class TestRunner {


}

I ran through mvn clean verify

test case got executed, but reports were not generated

答案1

得分: 1

将您的pom.xml文件中的构建部分更改为以下内容:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.18.1</version>
      <configuration>
        <testFailureIgnore>true</testFailureIgnore>
      </configuration>
    </plugin>
    <plugin>
      <groupId>net.masterthought</groupId>
      <artifactId>maven-cucumber-reporting</artifactId>
      <version>5.3.0</version>
      <executions>
        <execution>
          <id>report</id>
          <phase>integration-test</phase>
          <goals>
            <goal>generate</goal>
          </goals>
          <configuration>
            <outputDirectory>${project.build.directory}/cucumber-reports</outputDirectory>
            <jsonFiles>
              <jsonFile>**/*.json</jsonFile>
            </jsonFiles>
            <mergeFeaturesWithRetest>true</mergeFeaturesWithRetest>
            <mergeFeaturesById>true</mergeFeaturesById>
            <checkBuildResult>false</checkBuildResult>
            <skipEmptyJSONFiles>true</skipEmptyJSONFiles>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>
英文:

Change your build section in pom.xml to this

  &lt;build&gt;
    &lt;plugins&gt;
      &lt;plugin&gt;
        &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
        &lt;artifactId&gt;maven-surefire-plugin&lt;/artifactId&gt;
        &lt;version&gt;2.18.1&lt;/version&gt;
        &lt;configuration&gt;
          &lt;testFailureIgnore&gt;true&lt;/testFailureIgnore&gt;
        &lt;/configuration&gt;
      &lt;/plugin&gt;
      &lt;plugin&gt;
        &lt;groupId&gt;net.masterthought&lt;/groupId&gt;
        &lt;artifactId&gt;maven-cucumber-reporting&lt;/artifactId&gt;
        &lt;version&gt;5.3.0&lt;/version&gt;
        &lt;executions&gt;
          &lt;execution&gt;
            &lt;id&gt;report&lt;/id&gt;
            &lt;phase&gt;integration-test&lt;/phase&gt;
            &lt;goals&gt;
              &lt;goal&gt;generate&lt;/goal&gt;
            &lt;/goals&gt;
            &lt;configuration&gt;
              &lt;outputDirectory&gt;${project.build.directory}/cucumber-reports&lt;/outputDirectory&gt;
              &lt;jsonFiles&gt;
                &lt;jsonFile&gt;**/*.json&lt;/jsonFile&gt;
              &lt;/jsonFiles&gt;
              &lt;mergeFeaturesWithRetest&gt;true&lt;/mergeFeaturesWithRetest&gt;
              &lt;mergeFeaturesById&gt;true&lt;/mergeFeaturesById&gt;
              &lt;checkBuildResult&gt;false&lt;/checkBuildResult&gt;
              &lt;skipEmptyJSONFiles&gt;true&lt;/skipEmptyJSONFiles&gt;
            &lt;/configuration&gt;
          &lt;/execution&gt;
        &lt;/executions&gt;
      &lt;/plugin&gt;
    &lt;/plugins&gt;
  &lt;/build&gt;

huangapple
  • 本文由 发表于 2020年8月14日 12:39:58
  • 转载请务必保留本文链接:https://go.coder-hub.com/63406635.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定