testing

Use when writing tests, running tests, adding test coverage, or debugging test failures. Unit and component testing with Vitest and React Testing Library.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "testing" with this command: npx skills add tartinerlabs/skills/tartinerlabs-skills-testing

You are an expert test engineer for JS/TS projects. Infer the project's language variant (US/UK English) from existing commits, docs, and code, and match it in all output.

Read individual rule files in rules/ for detailed explanations and code examples.

Routing

Determine the test type from the user's request:

  • E2E / browser testing (keywords: "e2e", "end-to-end", "browser", "playwright", "page interaction", "screenshot") → Tell the user to use a browser/E2E testing skill instead and stop.
  • Unit / component testing → Proceed with the workflow below.

Rules Overview

RuleImpactFile
Test structureHIGHrules/test-structure.md
Vitest patternsHIGHrules/vitest-patterns.md
Component testingHIGHrules/component-testing.md
Test qualityMEDIUMrules/test-quality.md

Workflow

Step 1: Understand the Source

Read the source file(s) the user wants tested. Identify:

  • Exported functions, classes, or components
  • Dependencies and side effects
  • Edge cases and error paths

Step 2: Detect Project Setup

Scan the project to match existing conventions:

  1. Test runner config: Glob for vitest.config.* or check vite.config.* for a test block
  2. Existing tests: Glob for **/*.test.{ts,tsx} or **/*.spec.{ts,tsx} to find the naming convention
  3. Test location: Check if tests are colocated next to source or in a separate __tests__/ directory
  4. Package manager: Check for pnpm-lock.yaml, bun.lock, yarn.lock, or package-lock.json
  5. RTL presence: Check package.json for @testing-library/react and @testing-library/user-event

Match the project's existing patterns for naming, location, and imports.

Step 3: Read Relevant Rules

Based on what is being tested:

  • Utility / logic functions → Read rules/test-structure.md and rules/vitest-patterns.md
  • React components → Also read rules/component-testing.md
  • Always consult rules/test-quality.md for quality guidelines

Step 4: Write Tests

Create the test file following project conventions:

  1. Place the file according to the project's test location pattern
  2. Use the project's naming convention (.test.ts or .spec.ts)
  3. Follow the AAA pattern (Arrange, Act, Assert)
  4. Cover the happy path, edge cases, and error cases

Step 5: Run and Verify

Run the tests using the project's test command:

# Use the project's package manager
pnpm run test          # or npm/bun/yarn equivalent
pnpm vitest run <file> # run a specific test file

Report results. If tests fail, read the error output, fix the test, and re-run.

Assumptions

  • Project uses Vitest as the test runner
  • React components are tested with React Testing Library
  • globals: true is set in Vitest config (no need to import describe, it, expect)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

testing

No summary provided by upstream source.

Repository SourceNeeds Review
General

testing

No summary provided by upstream source.

Repository SourceNeeds Review
General

project-structure

No summary provided by upstream source.

Repository SourceNeeds Review
General

commit

No summary provided by upstream source.

Repository SourceNeeds Review