Skip to content

Neues Feld deprecated #92

@Mehtrick

Description

@Mehtrick

Anforderung

Neue Möglichkeit einführen, Spezifikationen oder einzelne Szenarien als veraltet zu markieren.
Dies erfolgt über ein neues Feld "deprecated", das sowohl im Root der Spec als auch an einzelnen Scenarien gesetzt werden kann.

Wenn das Feld aktiv ist, soll die Dokumentation automatisch visuelle Hinweise erzeugen:

  • Root deprecated:
    Neben dem Featurenamen erscheint ein roter Hinweis „Veraltet“.
  • Scenario deprecated:
    Ein roter Hinweis erscheint direkt über oder neben dem Szenariotitel.

Damit lassen sich alte, abgelöste oder migrierte Spezifikationen klar kennzeichnen.


Nutzen / Motivation

  • Verbesserte Wartbarkeit der Bjoern‑Specs
  • Klare Kennzeichnung veralteter Spezifikationen oder einzelner Testfälle
  • Minimierung der Verwechslung zwischen alten und neuen Testdefinitionen
  • Optional: spätere CI‑ oder Tool‑Warnungen möglich
  • Konsistente Darstellung in Docs und Javadoc

Umsetzung

1. Neues Feld deprecated einführen

  • Verwendung im Root:
    Markiert die gesamte Spezifikation als veraltet.
  • Verwendung an Scenarien:
    Markiert nur das einzelne Scenario als veraltet.
  • Typ: Boolean
  • Standard: false
  • Feld ist optional
  • Keine zusätzliche semantische Validierung notwendig

2. Code‑Erweiterungen

  • Deprecation‑Status im Javadoc ablegen:
    • Bei Root‑Deprecation:
      • @Deprecated oder eigener Tag @SpecDeprecated an der generierten Klasse
    • Bei Scenario‑Deprecation:
      • Tag am jeweiligen Generierungsobjekt ergänzen

3. Docs‑Generierung

  • Wenn Root deprecated ist:

    • Direkt neben dem Featurenamen (z. B. # Feature: Kassenautomat) erscheint ein rotes Label: „Veraltet“

    • Formatvorschlag (HTML in Markdown möglich, abhängig vom Generator):

      <span style="color:red; font-weight:bold;">Veraltet</span>
  • Wenn ein Scenario deprecated ist:

    • Rotes Label direkt über oder neben dem Szenario-Titel:
      • z. B. ### Scenario: Foo <span style="color:red;">Veraltet</span>
  • Hinweise werden nur generiert, wenn das Feld tatsächlich existiert.


Beispiel (informativ)

Feature: Test eines KassenAutomaten
deprecated: true
Background:
  Given:
    - Ein typ der was trinken will
Scenarios:
  - Scenario: Getränk nicht vorhanden
    deprecated: true
    Given:
      - Ein Automat

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions