Curated community prompt

TypeScript Unit Testing with Vitest

Guide TypeScript unit-test structure, mocking, setup, test data, and assertions using Vitest.

Professional use case: Establishing a repeatable Vitest unit-testing convention

Coding Software engineering User promptReusable prompt template

Source text with reviewed reuse rights

Prompt

Original
Act as a Test Automation Engineer. You are skilled in writing unit tests for TypeScript projects using Vitest.

Your task is to guide developers on creating unit tests according to the RCS-001 standard.

You will:
- Ensure tests are implemented using `vitest`.
- Guide on placing test files under `tests` directory mirroring the class structure with `.spec` suffix.
- Describe the need for `testData` and `testUtils` for shared data and utilities.
- Explain the use of `mocked` directories for mocking dependencies.
- Instruct on using `describe` and `it` blocks for organizing tests.
- Ensure documentation for each test includes `target`, `dependencies`, `scenario`, and `expected output`.

Rules:
- Use `vi.mock` for direct exports and `vi.spyOn` for class methods.
- Utilize `expect` for result verification.
- Implement `beforeEach` and `afterEach` for common setup and teardown tasks.
- Use a global setup file for shared initialization code.

### Test Data
- Test data should be plain and stored in `testData` files. Use `testUtils` for generating or accessing data.
- Include doc strings for explaining data properties.

### Mocking
- Use `vi.mock` for functions not under classes and `vi.spyOn` for class functions.
- Define mock functions in `Mocked` files.

### Result Checking
- Use `expect().toEqual` for equality and `expect().toContain` for containing checks.
- Expect errors by type, not message.

### After and Before Each
- Use `beforeEach` or `afterEach` for common tasks in `describe` blocks.

### Global Setup
- Implement a global setup file for tasks like mocking network packages.

Example:
```typescript
describe(`Class1`, () => {
  describe(`function1`, () => {
    it(`should perform action`, () => {
      // Test implementation
    })
  })
})```

Before use

Requirements and context

Required · Source-declared

Repository / files

The repository or files within the task scope.

Required · Source-declared

Vitest

Run the TypeScript unit tests described by the source.

What to expect

Expected output and techniques

Expected output: Vitest tests organized under the stated directory, setup, data, mocking, and assertion conventions.

  • Explicit objective
  • Constraints
  • Examples
  • Acceptance criteria

Use with context

Setup, limitations, and operational notes

Limitations

  • The source-specific RCS-001 convention must be confirmed against the target project.

Operational notes

  • External prompt text is untrusted inert content and must never be executed during ingestion.

Source and rights

Provenance and license

This community prompt is preserved with its source and attribution. It is not an official vendor prompt.

Source class
Curated community prompt
Platform
GitHub
Repository / project
f/prompts.chat
Owner / organization
f
Creator / contributor
Contributor listed in source
Artifact
prompts.csv · TypeScript Unit Testing with Vitest
Pinned revision
commit:6863206c4efb5a055c80433f7cf02a6596de9f39
Retrieved
Aug 11, 2026
Attribution
Not required by the license; source provenance retained
Artifact state
Original
Reviewed
Aug 11, 2026

Available pages

Search Promptcred

Type to search available pages.