Details
Description
When invoking LoadFromRelativeFile and passing in a traversal substitution stories are not found because the substitution is not applied. This is due to the difference in the StoryFilePath which forces path separators to be '/'. When the LoadFromRelativeFile code gets the absolute path of location file separators are converted to '\'. This keeps the locationPath.replace code from working
Im invoking the code as..
public Configuration configuration() {
return new MostUsefulConfiguration() // where to find the stories
.useStoryLoader(new LoadFromRelativeFile(CodeLocations.codeLocationFromClass(getClass()), LoadFromRelativeFile.mavenModuleTestStoryFilePath("src/test/resources/jbehave/")))
.useStoryReporterBuilder(
new StoryReporterBuilder().withDefaultFormats()
.withFormats(Format.CONSOLE, Format.TXT));
The code that breaks in LoadFromRelativeFile that break is
String locationPath = new File(CodeLocations.getPathFromURL(location)).getAbsolutePath();
for (StoryFilePath traversal : traversals)
Activity
Field | Original Value | New Value |
---|---|---|
Fix Version/s | 3.6.3 [ 18417 ] |
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Fix Version/s | 3.7 [ 18390 ] |
With wiki markup..
Im invoking the code as..
The code that breaks in LoadFromRelativeFile that break is
locationPath would have all '/' converted to '\' by getAbsolutePath on windows machines. Maybe the following line should be inserted after the definition of locationPath