Class LoadFromRelativeFile

java.lang.Object
org.jbehave.core.io.LoadFromRelativeFile
All Implemented Interfaces:
ResourceLoader, StoryLoader

public class LoadFromRelativeFile extends Object implements ResourceLoader, StoryLoader

Loads story resources from relative file paths that are traversal to a given location.

StoryLoader loader = new LoadFromRelativeFile(codeLocationFromClass(YourStory.class));

By default, it uses traversal directory 'target/test-classes' with source dir in 'src/test/java'.

Other traversal locations can be specified via the varargs constructor:

StoryLoader loader = new LoadFromRelativeFile(codeLocationFromClass(YourStory.class), mavenModuleTestStoryFilePath("src/test/java"), intellijProjectTestStoryFilePath("src/test/java"));

Convenience methods : mavenModuleStoryFilePath(java.lang.String), mavenModuleTestStoryFilePath(java.lang.String), intellijProjectStoryFilePath(java.lang.String), intellijProjectTestStoryFilePath(java.lang.String)

See Also:
  • Constructor Details

  • Method Details

    • loadResourceAsText

      public String loadResourceAsText(String resourcePath)
      Specified by:
      loadResourceAsText in interface ResourceLoader
    • loadStoryAsText

      public String loadStoryAsText(String storyPath)
      Specified by:
      loadStoryAsText in interface StoryLoader
    • loadContent

      protected String loadContent(String path)
    • mavenModuleStoryFilePath

      public static LoadFromRelativeFile.StoryFilePath mavenModuleStoryFilePath(String relativePath)
      Maven by default, has its PRODUCTION classes in target/classes. This story file path is relative to that.
      Parameters:
      relativePath - the path to the stories' base-dir inside the module
      Returns:
      the resulting StoryFilePath
    • mavenModuleTestStoryFilePath

      public static LoadFromRelativeFile.StoryFilePath mavenModuleTestStoryFilePath(String relativePath)
      Maven by default, has its TEST classes in target/test-classes. This story file path is relative to that.
      Parameters:
      relativePath - the path to the stories' base-dir inside the module
      Returns:
      the resulting StoryFilePath
    • intellijProjectStoryFilePath

      public static LoadFromRelativeFile.StoryFilePath intellijProjectStoryFilePath(String relativePath)
      Intellij by default, has its PRODUCTION classes in classes/production. This story file path is relative to that.
      Parameters:
      relativePath - the path to the stories' base-dir inside the module
      Returns:
      the resulting StoryFilePath
    • intellijProjectTestStoryFilePath

      public static LoadFromRelativeFile.StoryFilePath intellijProjectTestStoryFilePath(String relativePath)
      Intellij by default, has its TEST classes in classes/test. This story file path is relative to that.
      Parameters:
      relativePath - the path to the stories' base-dir inside the module
      Returns:
      the resulting StoryFilePath