当我尝试在命令行中运行测试时,出现以下错误消息。
测试基于Geb,Selenium和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)
添加了更多错误详情:
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 "d2bcons@trashcanmail.html (The filename, directory name, or volume label syntax is incorrect)
什么可能导致错误?
由于
答案 0 :(得分:7)
经过一些调查后发现,这是因为dot (".")
在Gherkin文件中用于其中一个测试步骤。
根本原因是当尝试生成带有步骤名称作为文件名的测试报告时,它会生成此错误,因为除了扩展点之外,htlm
文件中的点无效。
希望这是明确和有用的。
答案 1 :(得分:4)
可以为Cucumber提供一个参数,以便它不会在文件名中使用无效字符。在Cucumber runner类中,您可以将以下参数添加到CucumberOptions属性:
- 文件名兼容-名称
例如:
@CucumberOptions(junit = {"--filename-compatible-names"})