@innoartive-labs/novatest
v2.0.0
Published
Zero-config full-stack testing system for JavaScript and TypeScript
Downloads
32
Maintainers
Readme
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
npm install --save-dev novatestOr install globally:
npm install -g novatestQuick Start
Run all tests:
npx novatestRun in browser environment:
npx novatest --env=browserRun end-to-end tests:
npx novatest --e2eBasic Example
test("adds numbers", () => {
expect(1 + 1).toBe(2);
});React Component Testing
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
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:
npx novatest --update-snapshotsEnd-to-End Testing
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:
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
