Skip to the content.

Tests that find your code, not your folders.

πŸš€ Quick Start

npm install --save-dev adaptive-tests
const { discover } = require('adaptive-tests');

test('finds my service automatically', async () => {
  const UserService = await discover({
    name: 'UserService',
    type: 'class',
    methods: ['create', 'update', 'delete']
  });

  const service = new UserService();
  expect(service.create({ name: 'Ada' })).toBeTruthy();
});

πŸ“– Documentation

Getting Started

Framework Guides

Reference

GitHub Integration

🎯 Why Adaptive Tests?

Save $200,000+ per year on test maintenance. Tests that break from moving files cost your team 15-20% of their time. Adaptive Tests eliminates this entirely.

The Problem

Traditional tests break when you refactor:

// This breaks when you move Calculator.js
import { Calculator } from '../src/utils/Calculator';

The Solution

Adaptive tests find your code automatically:

// This works no matter where Calculator lives
const Calculator = await discover({ name: 'Calculator' });

β†’ Read the full engineering case

✨ Features

πŸ’¬ Community

πŸ“Š Language Support

Language AST Parser Status
JavaScript Babel βœ… Stable
TypeScript TypeScript Compiler βœ… Stable
Python Native ast module 🟑 Beta
Java JavaParser 🟑 Beta
PHP token_get_all / nikic/php-parser 🟑 Beta
Ruby Ripper πŸ§ͺ Experimental
Go go/parser (via tree‑sitter bindings) πŸ§ͺ Experimental
Rust Lezer (rust) πŸ§ͺ Experimental
Wolfram CodeParse πŸ§ͺ Experimental

Status legend: Stable = production‑ready; Beta = broadly usable with caveats; Experimental = early support, subject to change.

🀝 Contributing

We welcome contributions! See our Contributing Guide.

πŸ“„ License

MIT - See LICENSE for details.