bdd-test-runner

Enforce GIVEN-WHEN-THEN naming and coverage checks for Kotlin/JUnit5 tests.

63|6|Updated Oct 25, 2025
One-click install
npx skills add https://github.com/rsicarelli/fakt --skill bdd-test-runner
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: bdd-test-runner
Source: https://github.com/rsicarelli/fakt/tree/main/.claude/skills/core-workflows/bdd-test-runner
Command: npx skills add https://github.com/rsicarelli/fakt --skill bdd-test-runner

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill ensures tests adhere to the GIVEN-WHEN-THEN standard, validates naming, analyzes coverage, and enforces project testing guidelines to reduce flaky tests and improve reliability.

Core Features & Use Cases

  • Enforces GIVEN-WHEN-THEN naming, @TestInstance lifecycles, and vanilla assertions
  • Run and filter test suites (all tests, compiler tests, or pattern-based)
  • Validate test naming and compare against coverage reports
  • Provide actionable remediation guidance when violations are detected

Quick Start

Run the full Fakt test suite with BDD validation: navigate to the project root and execute the full Gradle test task to apply BDD validations and enforce standards.

Frequently Asked Questions about bdd-test-runner

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I enforce GIVEN-WHEN-THEN naming standards in my JUnit5 test suite?

GIVEN-WHEN-THEN naming enforces test discipline by structuring test methods around preconditions, actions, and outcomes. This Skill validates that your Kotlin/JUnit5 tests follow this pattern, prohibits 'should' usage, enforces @TestInstance(Lifecycle.PER_CLASS), and uses vanilla assertions to standardize your test suite and reduce flaky tests.

Can I run BDD validation checks across specific test modules or just the entire project?

Yes, this Skill supports filtering test execution across all tests, compiler tests, or pattern-based subsets of your Kotlin/JUnit5 project. You can apply BDD validation and coverage analysis to the specific modules you need, then generate standardized reports showing compliance violations and remediation guidance.

What testing standards does this Skill enforce for JUnit5 projects?

This Skill enforces GIVEN-WHEN-THEN naming discipline, @TestInstance(Lifecycle.PER_CLASS) annotations, vanilla assertions, and prohibits forbidden 'should' usage in test names. It validates naming patterns across your Kotlin/JUnit5 modules, analyzes test coverage, and produces standardized execution reports to ensure compliance with project testing guidelines.

How does test naming validation help reduce flaky tests?

Strict naming patterns and the GIVEN-WHEN-THEN structure make test intent explicit and repeatable. By enforcing consistent naming, preventing ambiguous language like 'should', and validating lifecycle and assertion patterns, the Skill reduces hidden assumptions and timing issues that cause flakiness.

What output does this Skill produce after running test validation?

This Skill produces standardized execution and coverage reports showing test results, naming compliance violations, and coverage metrics across your modules. When violations are detected, it provides actionable remediation guidance so you can fix naming, lifecycle, or assertion issues.