Docs/Testing/Test Runners

Test Runners

Execute tests across multiple frameworks with parallel execution, smart caching, and detailed reporting.

Overview

QODRYX's test runner integrates with your existing test frameworks and provides:

Parallel Execution

Run tests across multiple workers

Smart Caching

Skip unchanged tests for faster runs

Auto-detection

Automatically finds test framework

Watch Mode

Re-run tests on file changes

Supported Test Runners

Jest

JavaScript/TypeScript
qodryx test --runner jest

Vitest

JavaScript/TypeScript
qodryx test --runner vitest

pytest

Python
qodryx test --runner pytest

go test

Go
qodryx test --runner go

PHPUnit

PHP
qodryx test --runner phpunit

RSpec

Ruby
qodryx test --runner rspec

CLI Usage

# Run all tests
qodryx test

# Run tests in watch mode
qodryx test --watch

# Run specific test file
qodryx test src/utils/math.test.ts

# Run with coverage
qodryx test --coverage

# Run in parallel (4 workers)
qodryx test --parallel 4

# Run only changed tests
qodryx test --changed

# Run with verbose output
qodryx test --verbose

Configuration

{
  "testing": {
    "runner": "vitest",
    "parallel": 4,
    "timeout": 30000,
    "retries": 2,
    "coverage": {
      "enabled": true,
      "threshold": 80,
      "exclude": ["**/*.test.ts", "**/mocks/**"]
    },
    "watch": {
      "enabled": false,
      "clearScreen": true
    }
  }
}

CI/CD Integration

Example GitHub Actions workflow:

name: Tests
on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: qodryx/setup-action@v1
      
      - name: Run tests
        run: qodryx test --coverage --ci
        
      - name: Upload coverage
        uses: qodryx/coverage-action@v1
        with:
          token: ${{ secrets.QODRYX_TOKEN }}