Files
claude-task-master/tests
Ralph Khreish 03d145c2af feat: migrate to Bun for development
- Replace tsdown with Bun.build() for bundling
- Add bunfig.toml and tests/setup.ts for Bun test config
- Update CI to use Bun for install and build
- Update all package test scripts to use vitest (Node runtime)
- Remove deprecated deps: jest, ts-jest, tsdown, tsx, cross-env
- Delete jest.config.js, jest.resolver.cjs, tsdown.config.ts

Build: Bun bundler (faster than tsdown/esbuild)
Install: Bun package manager (bun.lock)
Tests: Vitest on Node (Bun runtime has Zod SSR issues)
Distribution: Node-compatible output unchanged

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 16:48:32 +01:00
..
2025-04-09 00:30:05 +02:00
2026-01-26 16:48:32 +01:00

Task Master Test Suite

This directory contains tests for the Task Master CLI. The tests are organized into different categories to ensure comprehensive test coverage.

Test Structure

  • unit/: Unit tests for individual functions and components
  • integration/: Integration tests for testing interactions between components
  • e2e/: End-to-end tests for testing complete workflows
  • fixtures/: Test fixtures and sample data

Running Tests

To run all tests:

npm test

To run tests in watch mode (for development):

npm run test:watch

To run tests with coverage reporting:

npm run test:coverage

Testing Approach

Unit Tests

Unit tests focus on testing individual functions and components in isolation. These tests should be fast and should mock external dependencies.

Integration Tests

Integration tests focus on testing interactions between components. These tests ensure that components work together correctly.

End-to-End Tests

End-to-end tests focus on testing complete workflows from a user's perspective. These tests ensure that the CLI works correctly as a whole.

Test Fixtures

Test fixtures provide sample data for tests. Fixtures should be small, focused, and representative of real-world data.

Mocking

For external dependencies like file system operations and API calls, we use mocking to isolate the code being tested.

  • File system operations: Use mock-fs to mock the file system
  • API calls: Use Jest's mocking capabilities to mock API responses

Test Coverage

We aim for at least 80% test coverage for all code paths. Coverage reports can be generated with:

npm run test:coverage