acceptance-testing

Guide ATDD acceptance tests for PHP and TypeScript controller/API layers.

Updated Jun 19, 2023
One-click install
npx skills add https://github.com/JeroenJochems/modelwise --skill acceptance-testing-jeroenjochems
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: acceptance-testing
Source: https://github.com/JeroenJochems/modelwise/tree/main/.claude/skills/acceptance-testing
Command: npx skills add https://github.com/JeroenJochems/modelwise --skill acceptance-testing-jeroenjochems

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill ensures your acceptance tests are robust, business-focused, and adhere to the Acceptance Test-Driven Development (ATDD) methodology, preventing brittle tests and misaligned features.

Core Features & Use Cases

  • ATDD Workflow Guidance: Guides you through writing tests before code, ensuring features meet business needs.
  • UI Independence: Helps you write tests that target the application's logic layer, not its user interface, making them more stable.
  • Fixture Best Practices: Provides patterns for creating "thin" fixture adapters that don't contain business logic.
  • Use Case: When starting a new user story, use this Skill to define the acceptance criteria in Given/When/Then format, write a failing test, and then implement the feature, ensuring it meets requirements from the outset.

Quick Start

Use the acceptance-testing skill to write a new Given/When/Then test for the user login feature.

Frequently Asked Questions about acceptance-testing

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

FAQPage Schema
How do I write acceptance tests that focus on business behavior instead of UI implementation details?

Acceptance testing using ATDD principles guides you to interact with controller and API layers rather than direct UI elements, ensuring tests remain stable and focused on business behavior. This prevents brittle test suites caused by UI changes.

What is the best way to structure Given/When/Then acceptance criteria before writing feature code?

The best way to structure Given/When/Then acceptance criteria is using the ATDD workflow, which involves defining business requirements first, writing a failing test, and then implementing the feature to satisfy those exact requirements.

Does this acceptance testing approach work with PHP and TypeScript environments?

Yes, this acceptance testing approach supports PHP and TypeScript environments by ensuring tests interact with controller/API layers rather than direct UI elements, maintaining framework-agnostic test stability.

How do I create thin fixture adapters that do not contain business logic?

Creating thin fixture adapters involves following specific refactoring patterns and best practices that separate test data setup from business logic, ensuring fixtures remain lightweight and focused solely on test preparation.

Why do my acceptance tests break frequently when the user interface changes?

Acceptance tests break frequently when they target direct UI elements instead of the application's logic layer. This Skill enforces UI independence by guiding tests to interact with controller and API layers, making them robust against UI modifications.

How do I maintain test suite quality when refactoring acceptance tests?

Maintaining test suite quality requires using structured refactoring patterns and review checklists provided by the acceptance testing methodology, ensuring your tests remain robust, business-focused, and aligned with ATDD principles.