Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Multiple Levels of Hierarchy in the Tree View #366

Open
frederikb opened this issue Jan 7, 2025 · 1 comment
Open

Support for Multiple Levels of Hierarchy in the Tree View #366

frederikb opened this issue Jan 7, 2025 · 1 comment
Assignees

Comments

@frederikb
Copy link

Is your feature request related to a problem? Please describe.

When working with many feature files in projects that follow a hierarchical directory structure (as recommended in Cucumber's blog on organizing feature files), the current Tree View in Cluecumber becomes difficult to navigate because it does not reflect the structure beyond the feature/scenario grouping, making it more challenging to locate specific functionality or understand the organization of the test suite.

Example of a folder structure:

Describe the solution you'd like

  1. Support for Multiple Levels of Hierarchy in the Tree View:

    • Add an option to reflect the directory hierarchy of feature files in the Tree View.
    • Optionally exclude shared base paths (e.g., /features/) via configuration (or automaticallt detect shared base paths).
  2. Readable Directory Names:

    • Automatically format directory names into readable headings (using a configurable strategy, similar to DisplayNameGenerator in JUnit 5):
      • Convert snake_case to Snake Case (replace underscores with spaces and capitalize each word).
      • Format camelCase or PascalCase into Camel Case or Pascal Case.
    • Optionally support a configurable replacement map for custom naming.
  3. Optional: Markdown Support for Living Documentation:

    • Allow index.md files in the feature file folder structure to act as headings and descriptions:
      • Use the first-level heading (#) from the markdown file as the folder name in the Tree View.
      • Display markdown content as part of the report to provide richer documentation.
    • Caveat: Requires Cluecumber to have access to the actual folders instead of only consuming the reports JSON

Describe alternatives you've considered

  • Using separate tooling to build the structured overview of the test suite / living documentation instead of using the Tree View

Additional context

Made up example with some questionable formatting, but should help illustrate my point:

image

How do you currently address the challenge of organizing and navigating through many scenarios? Would this proposal align with your usage, and is it something you would consider?

@bischoffdev bischoffdev self-assigned this Jan 8, 2025
@bischoffdev
Copy link
Collaborator

Thanks a lot for this detailed description. It sounds like an interesting feature.
Currently, all of our hundreds of features are only in one single hierarchy so we never faced this. But I can see why this makes sense for teams that follow this multi-folder approach.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants