Skip to the content.

Stop Fixing Broken Tests. Start Shipping Faster.

Tired of import errors every time you refactor? Adaptive Tests automatically find your code, no matter where you move it. It’s the AI-ready testing framework for modern development.

Get Started in 2 Minutes View on GitHub

The Vicious Cycle of Traditional Testing

You’ve been there. You move a file, rename a folder, or let an AI agent refactor your code. Suddenly, your entire test suite explodes.

- import { Calculator } from '../utils/Calculator';
+ import { Calculator } from '../math/calculator/Calculator'; // You have to fix this manually

// ...and this...
- import { UserService } from '../../services/users';
+ import { UserService } from '../../api/v1/users';

// ...and dozens more.

You spend the next hour hunting down broken import statements instead of building what matters. This is a waste of your time.

The Adaptive Solution: Test Smarter, Not Harder

Adaptive Tests don’t rely on brittle file paths. They find your code by its structural signature—what it is, not where it is.

// This test works even if you move the file.
const Calculator = await discover({
  name: 'Calculator',
  type: 'class',
  methods: ['add', 'subtract']
});

test('calculator works', () => {
  const calc = new Calculator();
  expect(calc.add(2, 3)).toBe(5);
});

Move Calculator.js anywhere. The test still passes. No changes needed.


How It Works: A New Paradigm

Instead of hardcoding a file path, you provide a “signature” that describes the code you want to test. Our discovery engine does the rest.

  1. You Define a Signature: Describe the code’s name, type, methods, or other structural features.
  2. Engine Scans Your Code: It parses your codebase’s Abstract Syntax Tree (AST) to find files that match the signature.
  3. It Finds the Best Match: A powerful scoring algorithm ranks candidates to find the perfect match.
  4. Your Test Runs: The engine provides the correct module to your test, which runs as usual.

This all happens in milliseconds, and it’s completely transparent.


🚀 Quick Start

Get up and running with your preferred language.

JavaScript / TypeScript

Heads up: the TypeScript package re-uses the JavaScript discovery engine. Installing @adaptive-tests/typescript will pull in @adaptive-tests/javascript automatically.

# 1. Install the package
npm install @adaptive-tests/javascript --save-dev

# 2. Run the interactive setup
npx adaptive-tests init

→ Full JavaScript Guide

Python

# 1. Install the package
pip install adaptive-tests-py

# 2. Run the interactive setup
adaptive-tests init

→ Full Python Guide

Java

Add the dependency to your pom.xml:

<dependency>
    <groupId>io.adaptivetests</groupId>
    <artifactId>adaptive-tests-java</artifactId>
    <version>0.3.0-SNAPSHOT</version>
</dependency>

→ Full Java Guide


✨ Features


Who Is This For?


Learn More

GitHub RepositoryNPM PackageReport an Issue