For CucumberJVM Scenarios, the effective test method name will be
null when the Scenario clause is processed during test event
reporting.

1) This change, made at the suggestion of Adam Murdoch, assigns a
non-null value to the effective method name in the event that it
is found to be null in

org.gradle.api.internal.tasks.testing.junit.JUnitTestEventAdapter#testStarted.

2) This change renames

org.gradle.api.internal.tasks.testing.junit.JUnitTestEventAdapter#failureDescriptor

to

org.gradle.api.internal.tasks.testing.junit.JUnitTestEventAdapter#nullSafeDescriptor

3) This changes adds an int test

org.gradle.testing.cucumberjvm.CucumberJVMReportTest

to test the changes (1) and (2).
Use TestResources Rule in CucumberJVMReportTest
Fix xml test result generation for cucumber tests. We now take care of generating correct filenames used in xml reports; TODO: Do the same for html
fix html report generation for test class names that contains spaces, slashes and other non supported chars in filenames
Add a bit more coverage to the cucumberjvm test and fix xml test result fixture.