Class FileSystemRequirementsTagProvider

java.lang.Object
net.thucydides.core.requirements.AbstractRequirementsTagProvider
net.thucydides.core.requirements.FileSystemRequirementsTagProvider
All Implemented Interfaces:
CoreTagProvider, OverridableTagProvider, RequirementsTagProvider, TagProvider

public class FileSystemRequirementsTagProvider
extends AbstractRequirementsTagProvider
implements RequirementsTagProvider, OverridableTagProvider
Load a set of requirements (epics/themes,...) from the directory structure. This will typically be the directory structure containing the tests (for JUnit), stories (JBehave) or features (Cucumber).
  • Constructor Details

    • FileSystemRequirementsTagProvider

      public FileSystemRequirementsTagProvider​(EnvironmentVariables environmentVariables)
    • FileSystemRequirementsTagProvider

      public FileSystemRequirementsTagProvider​(EnvironmentVariables environmentVariables, java.lang.String rootDirectoryPath)
    • FileSystemRequirementsTagProvider

      public FileSystemRequirementsTagProvider()
    • FileSystemRequirementsTagProvider

      public FileSystemRequirementsTagProvider​(java.lang.String rootDirectory, int level)
    • FileSystemRequirementsTagProvider

      public FileSystemRequirementsTagProvider​(java.lang.String rootDirectory, EnvironmentVariables environmentVariables)
    • FileSystemRequirementsTagProvider

      public FileSystemRequirementsTagProvider​(java.lang.String rootDirectory, int level, EnvironmentVariables environmentVariables)
    • FileSystemRequirementsTagProvider

      public FileSystemRequirementsTagProvider​(java.lang.String topLevelDirectory, java.lang.String rootDirectory, int level, EnvironmentVariables environmentVariables)
    • FileSystemRequirementsTagProvider

      public FileSystemRequirementsTagProvider​(java.lang.String rootDirectory)
  • Method Details

    • getRequirements

      public java.util.List<Requirement> getRequirements()
      We look for file system requirements in the root directory path (by default, 'stories'). First, we look on the classpath. If we don't find anything on the classpath (e.g. if the task is being run from the Maven plugin), we look in the src/main/resources and src/test/resources directories starting at the working directory.
      Specified by:
      getRequirements in interface RequirementsTagProvider
      Specified by:
      getRequirements in class AbstractRequirementsTagProvider
    • getRootDirectoryPaths

      public java.util.Set<java.lang.String> getRootDirectoryPaths()
      Find the root directory in the classpath or on the file system from which the requirements will be read.
    • getTagsFor

      public java.util.Set<TestTag> getTagsFor​(TestOutcome testOutcome)
      Description copied from interface: TagProvider
      Returns the tags associated with a given test outcome.
      Specified by:
      getTagsFor in interface TagProvider
      Parameters:
      testOutcome - the outcome for a specific test
      Returns:
      the tags associated with a given test outcome.
    • getParentRequirementOf

      public java.util.Optional<Requirement> getParentRequirementOf​(TestOutcome testOutcome)
      Specified by:
      getParentRequirementOf in interface RequirementsTagProvider
    • getRequirementFor

      public java.util.Optional<Requirement> getRequirementFor​(TestTag testTag)
      Specified by:
      getRequirementFor in interface RequirementsTagProvider
    • readRequirementFrom

      public Requirement readRequirementFrom​(java.io.File requirementDirectory)
    • readRequirementsFromStoryOrFeatureFile

      public java.util.Optional<Requirement> readRequirementsFromStoryOrFeatureFile​(java.io.File storyFile)
    • getOverview

      public java.util.Optional<java.lang.String> getOverview()
      Specified by:
      getOverview in interface RequirementsTagProvider