npm package: @innoartive-labs/novatest
Description: Zero-config full-stack testing system for JavaScript and TypeScript
Author: Innoartive Labs
Latest version: 2.0.0

# NovaTest

No config. No imports. No setup.
Just run your tests.

NovaTest is a zero-configuration, full-stack testing system for JavaScript and TypeScript. It unifies unit testing, component testing, and end-to-end testing into a single tool with a consistent API and no setup overhead.

Built for developers who want testing to work out of the box without dealing with configuration complexity.

---

## Overview

Modern testing setups often require multiple tools and extensive configuration. NovaTest removes that complexity by providing:

* A single command to run all tests
* A unified API across unit, component, and E2E testing
* Built-in support for TypeScript, JSX, and modern module systems

---

## Key Features

### Core

* Zero configuration required
* Automatic test discovery
* Parallel execution using worker threads
* Built-in mocking system
* Native TypeScript support via esbuild

### Frontend

* Built-in React testing support without external libraries
* Browser-like environment powered by happy-dom
* Snapshot testing with automatic file management

### Full-Stack

* End-to-end testing via Playwright integration
* Unified API across all testing layers
* CI-optimized execution mode

---

## Installation

```bash
npm install --save-dev novatest
```

Or install globally:

```bash
npm install -g novatest
```

---

## Quick Start

Run all tests:

```bash
npx novatest
```

Run in browser environment:

```bash
npx novatest --env=browser
```

Run end-to-end tests:

```bash
npx novatest --e2e
```

---

## Basic Example

```javascript
test("adds numbers", () => {
  expect(1 + 1).toBe(2);
});
```

---

## React Component Testing

```tsx
test("button updates on click", ({ render, click }) => {
  const { getByText } = render(<Button label="Count" />);

  const button = getByText("Count: 0");
  click(button);

  expect(getByText("Count: 1")).toBeTruthy();
});
```

---

## Snapshot Testing

```javascript
test("object structure remains stable", () => {
  const user = { id: 1, name: "Nova" };
  expect(user).toMatchSnapshot();
});
```

Snapshots are stored automatically in a `__snapshots__` directory.

To update snapshots:

```bash
npx novatest --update-snapshots
```

---

## End-to-End Testing

```javascript
test("login flow", async ({ page }) => {
  await page.goto("https://example.com/login");
  await page.fill("#username", "test");
  await page.click("#submit");

  const text = await page.textContent(".welcome");
  expect(text).toContain("Welcome");
});
```

---

## Global API

NovaTest provides a global testing API without imports:

* test
* describe
* expect
* mock
* render

Example:

```javascript
test("works without imports", () => {
  expect(true).toBeTruthy();
});
```

---

## CLI Options

| Flag                   | Description                  |
| ---------------------- | ---------------------------- |
| --watch, -w            | Watch files and re-run tests |
| --env=node|browser     | Set runtime environment      |
| --e2e                  | Enable end-to-end testing    |
| --ci                   | Run in CI mode               |
| --coverage             | Generate coverage report     |
| --update-snapshots, -u | Update stored snapshots      |

---

## Why NovaTest

Traditional testing setups require combining multiple tools and configurations. NovaTest simplifies this by providing:

* One tool instead of many
* One API across all test types
* Zero setup required

---

## Use Cases

* React applications needing quick setup testing
* Node.js services requiring fast unit tests
* Full-stack projects that want a unified testing approach
* Libraries that need lightweight and fast test execution

---

## Project Status

NovaTest v2.0 is production-ready and actively evolving.
Future updates will expand framework support and advanced testing capabilities.

---

## Roadmap

* Visual regression testing
* Vue and Svelte support
* Parallel E2E execution
* Advanced coverage reporting

---

## Author

Innoartive Labs
Where innovation becomes art.

---

## License

MIT © 2026 Innoartive Labs