Ошибка сообщения Maven огурца - исключение Java.io.FilenotFound огурец.json

У меня возникает следующая ошибка при попытке запустить тесты CucumberJVM с использованием Maven Reporting Mojo.

[INFO] --- maven-cucumber-reporting:0.0.5:generate (execution) @ testproject --- О создании java.io.FileNotFoundException: /Users//IdeaProjects/testproject/target/cucumber.json (Нет такого файл или каталог)

У меня есть следующие зависимости в файле POM.xml.

<dependency>
    <groupId>net.masterthought</groupId>
    <artifactId>maven-cucumber-reporting</artifactId>
    <version>${maven.cucumber.reporting.version}</version>
</dependency>

<dependency>
    <groupId>net.masterthought</groupId>
    <artifactId>cucumber-reporting</artifactId>
    <version>${cucumber.reporting.version}</version>
</dependency>

<dependency>
    <groupId>com.googlecode.totallylazy</groupId>
    <artifactId>totallylazy</artifactId>
    <version>1077</version>
</dependency>


<dependency>
    <groupId>com.beust</groupId>
    <artifactId>jcommander</artifactId>
    <version>1.25</version>
</dependency>

Репозитории настроены следующим образом.

<repositories>
    <repository>
        <id>repo.bodar.com</id>
        <url>http://repo.bodar.com</url>
    </repository>

    <repository>
        <id>sonatype-releases</id>
        <url>https://oss.sonatype.org/content/repositories/releases/</url>
    </repository>
</repositories>

Плагин настроен следующим образом:

 <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.16</version>
                <configuration>
                    <testFailureIgnore>true</testFailureIgnore>
                </configuration>
            </plugin>
            <plugin>
                <groupId>net.masterthought</groupId>
                <artifactId>maven-cucumber-reporting</artifactId>
                <version>${maven.cucumber.reporting.version}</version>
                <executions>
                    <execution>
                        <id>execution</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <projectName>${project.name}</projectName>
                            <outputDirectory>${project.build.directory}/cucumber-html-reports</outputDirectory>
                            <cucumberOutput>${project.build.directory}/cucumber.json</cucumberOutput>
                            <enableFlashCharts>false</enableFlashCharts>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

Я использую стандартную структуру проекта maven с файлами функций, размещенными в /src/test/resources, определениями шагов в /src/test/main.

Не подскажете, как решить эту проблему. Я вижу эту проблему в 64-битной ОС MAC.

Заранее спасибо.

С уважением, Раджа


person Rajesh Yarlagadda    schedule 27.05.2014    source источник


Ответы (1)


Плагин генерирует HTML-отчет из json. Итак, первый шаг — заставить огурец сгенерировать json.

Когда я столкнулся с той же проблемой, я обнаружил, что причина в том, что файл огурца.json не существует.

Я обратился к этому в своем проекте, добавив json:target под аннотацией @CucumberOptions, после чего был сгенерирован файл json. Например

@CucumberOptions(features = "src/test/resources/features/some.feature",
         monochrome = false, format = {"pretty", "json:target/cucumber.json"})

Затем подключаемый модуль masterthought обрабатывает сгенерированный JSON, ища его по адресу ${project.build.directory}/cucumber.json.

На этом этапе плагин Maven генерирует HTML из JSON.

person user3371140    schedule 10.06.2014
comment
У меня это не получилось (плагин вместо формата). Мне пришлось создать файл target/cucumber.json вручную, чтобы он заработал. Надеюсь, это поможет следующему человеку. - person MikeJRamsey56; 16.03.2016