Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Could not generate test report in gradle due to cucumber step syntax

I get following error message when I tried to run tests in command line.

Tests are based on Geb, Selenium and Cucumber/Groovy.

Caused by: org.gradle.api.GradleException: Could not generate test report to 'D:\Folder\ABCD\Auto\build\reports\tests'.
        at org.gradle.api.internal.tasks.testing.junit.report.DefaultTestReport.generateFiles(DefaultTestReport.java:84)
        at org.gradle.api.internal.tasks.testing.junit.report.DefaultTestReport.generateReport(DefaultTestReport.java:48)
        at org.gradle.api.tasks.testing.Test.executeTests(Test.java:482)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:219)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:212)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:201)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:530)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:513)

Added more error details:

Caused by: java.io.FileNotFoundException: D:\Folder\ABCD\Auto\build\reports\tests\packages\When I enter valid registration details "d2bcons" and "fi rstdtwob" and "lastdtwob" and "[email protected] (The filename, directory name, or volume label syntax is incorrect) 

What could cause the error?

Thanks

like image 393
SMPH Avatar asked Dec 08 '22 06:12

SMPH


2 Answers

After doing some investigations it was turned out that this was due to dot (".") use in the Gherkin file for one of the test steps.

The root cause was when try to generate test report with step name as the file name, it generate this error since it is invalid to have dot in the htlm file apart from the extension dot.

Hope this is clear and helpful.

like image 128
SMPH Avatar answered Dec 11 '22 09:12

SMPH


It is possible to provide an argument to Cucumber so that it does not use invalid characters in the filename. On your Cucumber runner class you can add the following argument to the CucumberOptions attribute:

--filename-compatible-names

For example:

@CucumberOptions(junit = {"--filename-compatible-names"})
like image 24
Tobias M Avatar answered Dec 11 '22 10:12

Tobias M