From testing-framework
Provides test infrastructure setup, framework selection, and test suite authoring across multiple languages and platforms including unit testing (Rust, TypeScript, PHP, Shell), E2E testing (Playwright), component testing (React Testing Library), accessibility testing (axe-core), mutation testing, fuzz testing, and CI/CD test integration. Use when the user asks to set up testing, choose a test framework, write unit tests, write E2E tests, add accessibility tests, configure test automation, create test suites, set up Playwright or Vitest or PHPUnit or ShellSpec or BATS, or integrate tests into CI/CD pipelines. NOT for TDD methodology or red-green-refactor workflow (use test-driven-development), NOT for diagnosing and fixing bugs or analyzing errors (use debugging), NOT for reviewing existing code or PRs (use code-review).
npx claudepluginhub viktorbezdek/skillstack --plugin testing-frameworkThis skill uses the workspace's default tool permissions.
A comprehensive, multi-language testing skill combining best practices for unit testing, E2E testing, component testing, accessibility testing, and test automation across multiple platforms and frameworks.
assets/e2e-data/accessibility-checks.mdassets/e2e-data/common-ui-bugs.mdassets/e2e-data/playwright-best-practices.mdassets/e2e-workflow/phase-1-discovery.mdassets/e2e-workflow/phase-2-setup.mdassets/e2e-workflow/phase-2.5-preflight.mdassets/e2e-workflow/phase-3-generation.mdassets/e2e-workflow/phase-4-capture.mdassets/e2e-workflow/phase-5-analysis.mdassets/e2e-workflow/phase-6-regression.mdassets/e2e-workflow/phase-7-fixes.mdassets/e2e-workflow/phase-8-export.mdassets/nextjs/playwright.config.tsassets/nextjs/test-setup.tsassets/nextjs/vitest.config.tsassets/rust-checklists/pre-commit.mdassets/rust-checklists/review.mdassets/shellspec/spec_template.shassets/skill-testing/test_template.jsonexamples/e2e/react-vite/example-page-object.tsDesigns and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Designs, implements, and audits WCAG 2.2 AA accessible UIs for Web (ARIA/HTML5), iOS (SwiftUI traits), and Android (Compose semantics). Audits code for compliance gaps.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
A comprehensive, multi-language testing skill combining best practices for unit testing, E2E testing, component testing, accessibility testing, and test automation across multiple platforms and frameworks.
This skill provides testing guidance and tooling for:
Trigger Phrases:
Use Cases:
| Need | Technology | Reference |
|---|---|---|
| Rust unit tests | cargo test, tokio | references/unit-testing.md, templates/rust/ |
| Next.js/React testing | Vitest, RTL, Playwright | assets/nextjs/, references/a11y-testing.md |
| PHP/TYPO3 testing | PHPUnit, Playwright | templates/typo3/, references/functional-testing.md |
| Bash/Shell testing | ShellSpec, BATS | assets/shellspec/, references/gotchas.md |
| E2E with screenshots | Playwright | assets/e2e-workflow/, templates/e2e/ |
| Accessibility testing | axe-core | references/accessibility-testing.md |
| Test quality analysis | Python scripts | scripts/analyze-test-quality.py |
| Skill validation | JSON test suites | scripts/run_tests.py |
High-quality Rust unit tests following AAA pattern with deployment confidence.
Key Principles:
test_<function>_<scenario>_<expected_behavior>Quick Start:
#[tokio::test]
async fn test_withdraw_valid_amount_decreases_balance() {
// Arrange
let mut account = Account::new(100);
// Act
let result = account.withdraw(30).await;
// Assert
assert!(result.is_ok());
assert_eq!(account.balance(), 70);
}
Resources:
templates/rust/unit-test.md, templates/rust/async-test.mdreferences/aaa-pattern.md, references/naming-conventions.mdscripts/analyze-test-quality.pyAutomated E2E testing with LLM-powered visual debugging.
Workflow Phases:
Quick Start:
import { test, expect } from '@playwright/test';
test('user creates new entity', async ({ page }) => {
await page.goto('/entities');
await page.getByRole('button', { name: /create/i }).click();
await page.getByLabel(/name/i).fill('New Item');
await page.getByRole('button', { name: /save/i }).click();
await expect(page.getByText('New Item')).toBeVisible();
});
Resources:
assets/e2e-workflow/phase-*.mdtemplates/e2e/playwright.config.template.tsassets/e2e-data/playwright-best-practices.mdComplete testing setup for Next.js with Vitest, RTL, and Playwright.
Setup:
python scripts/generate_test_deps.py --nextjs-version <version> --typescript
Test Patterns:
// Component test with accessibility
import { render, screen } from '@/test/utils/render'
import { axe } from '@axe-core/playwright'
it('has no accessibility violations', async () => {
const { container } = render(<EntityCard entity={mockEntity} />)
const results = await axe(container)
expect(results.violations).toHaveLength(0)
})
Resources:
assets/nextjs/vitest.config.ts, assets/nextjs/playwright.config.tsexamples/nextjs/references/a11y-testing.mdPHPUnit-based testing for TYPO3 extensions with E2E support.
Test Types:
Quick Start:
# Setup
scripts/setup-testing.sh --with-e2e
# Generate test
scripts/generate-test.sh unit UserValidator
scripts/generate-test.sh functional ProductRepository
scripts/generate-test.sh e2e backend-module
Resources:
templates/typo3/references/functional-testing.md, references/mutation-testing.mdscripts/setup-testing.sh, scripts/generate-test.shTesting frameworks for Bash and POSIX shell scripts.
Describe 'Calculator'
Include lib/calculator.sh
It 'performs addition'
When call add 2 3
The output should eq 5
End
End
@test "describe expected behavior" {
run my_command arg1 arg2
assert_success
assert_output --partial "expected substring"
}
Resources:
assets/shellspec/spec_template.shscripts/init_bats_project.shreferences/gotchas.md, references/advanced-patterns.mdValidation tools for testing skills with input/output pair validation.
Test Types:
Quick Start:
# Generate test template
scripts/generate_test_template.py /path/to/skill --output tests.json
# Run tests
scripts/run_tests.py tests.json --skill-path /path/to/skill
# Validate results
scripts/validate_test_results.py actual.txt expected.txt
Resources:
assets/skill-testing/test_template.jsonscripts/run_tests.py, scripts/generate_test_template.pyreferences/test_patterns.md, references/writing_tests.md| Script | Purpose |
|---|---|
scripts/analyze-test-quality.py | Analyze Rust test file quality |
scripts/setup-testing.sh | Set up TYPO3 testing infrastructure |
scripts/generate-test.sh | Generate test class templates |
scripts/validate-setup.sh | Validate testing setup |
scripts/run_tests.py | Run skill test suites |
scripts/generate_test_template.py | Generate test templates |
scripts/validate_test_results.py | Validate test outputs |
scripts/diagnose_test.sh | Diagnose ShellSpec test failures |
scripts/init_bats_project.sh | Initialize BATS project |
scripts/strip_colors.sh | Strip ANSI colors from output |
scripts/generate_test_deps.py | Generate Next.js test dependencies |
references/aaa-pattern.md - Arrange-Act-Assert pattern detailsreferences/naming-conventions.md - Test naming best practicesreferences/test-builders.md - Test builder patternsreferences/anti-patterns.md - Common testing anti-patterns to avoidreferences/writing_tests.md - Best practices for effective testingreferences/test_patterns.md - Examples for different skill typesreferences/unit-testing.md - PHP/TYPO3 unit testingreferences/functional-testing.md - Functional testing with databasereferences/functional-test-patterns.md - Container reset, PHPUnit migrationreferences/async-testing.md - Async test patternsreferences/e2e-testing.md - End-to-end testing guidereferences/javascript-testing.md - JavaScript/TypeScript testingreferences/fuzz-testing.md - Security fuzz testingreferences/mutation-testing.md - Test quality verificationreferences/accessibility-testing.md - axe-core WCAG compliancereferences/a11y-testing.md - Accessibility testing guidelinesreferences/ci-cd.md - GitHub Actions, GitLab CI workflowsreferences/ci-integration.md - CI/CD integration patternsreferences/ci-cd-integration.md - E2E CI/CD examplesreferences/test-runners.md - Test orchestration patternsreferences/quality-tools.md - PHPStan, Rector, php-cs-fixerreferences/sonarcloud.md - SonarCloud integrationreferences/gotchas.md - BATS common pitfallsreferences/assertions.md - BATS assertion referencereferences/advanced-patterns.md - ShellSpec advanced patternsreferences/troubleshooting.md - Debugging test failuresreferences/collected-experience.md - Lessons learnedreferences/real-world-examples.md - Production patternsreferences/projects.md - Real-world project examplestemplates/rust/unit-test.md - Basic unit test templatetemplates/rust/async-test.md - Async test templatetemplates/rust/test-builder.md - Test builder patterntemplates/e2e/playwright.config.template.ts - Playwright configtemplates/e2e/test-spec.template.ts - Test spec templatetemplates/e2e/page-object.template.ts - Page Object Modeltemplates/e2e/global-setup.template.ts - Global setuptemplates/e2e/global-teardown.template.ts - Global teardowntemplates/e2e/screenshot-helper.template.ts - Screenshot utilitiestemplates/typo3/UnitTests.xml - PHPUnit unit configtemplates/typo3/FunctionalTests.xml - PHPUnit functional configtemplates/typo3/FunctionalTestsBootstrap.php - Bootstrap filetemplates/typo3/github-actions-tests.yml - CI workflowtemplates/typo3/Build/playwright/ - Playwright E2E setuptemplates/typo3/example-tests/ - Example test classesexamples/e2e/react-vite/ - React Vite example testsexamples/e2e/reports/ - Example analysis reportsexamples/nextjs/unit-test.ts - Unit test exampleexamples/nextjs/component-test.tsx - Component test exampleexamples/nextjs/e2e-test.ts - E2E test exampleassets/nextjs/vitest.config.ts - Vitest configurationassets/nextjs/playwright.config.ts - Playwright configurationassets/nextjs/test-setup.ts - Test setup fileassets/shellspec/spec_template.sh - ShellSpec test templateassets/skill-testing/test_template.json - Test suite templateassets/e2e-workflow/phase-*.md - Detailed workflow phasesassets/e2e-data/playwright-best-practices.mdassets/e2e-data/accessibility-checks.mdassets/e2e-data/common-ui-bugs.mdassets/rust-checklists/pre-commit.md - Pre-commit checklistassets/rust-checklists/review.md - Code review checklistTests not found:
Tests are slow:
Flaky tests:
Database errors:
E2E failures:
| Resource | Use For |
|---|---|
| Playwright Docs | E2E testing, Page Objects |
| Vitest Docs | Unit testing, configuration |
| Testing Library | React component testing |
| axe-core | Accessibility testing |
| ShellSpec | Shell script BDD testing |
| BATS | Shell script TAP testing |
| PHPUnit | PHP unit testing |
Remember: The goal is deployment confidence, not coverage theater. Focus testing effort where failures hurt most.