Skip to content
@japa

Japa.dev

A simple yet powerful testing framework for Node.js

Japa comes with everything you need to test your backend applications. Be it writing JSON API tests using an Open API schema or writing browser tests using Playwright.

Unlike other testing frameworks born out of the frontend ecosystem, Japa focuses only on testing backend applications and libraries. Therefore, Japa is simpler, faster, and bloatware free.

Features

Despite being a small and a simple tests runner, Japa has a ton of features you expect from a great testing framework. It includes:

Why Japa?

There are many testing frameworks available in the JavaScript ecosystem. So let's explore what makes Japa different.

No overhead of transpiling source code

Popular testing frameworks like Jest (uses Babel) and Vitest (uses Vite) use transpilers to process your source code. No matter how quick the underlying transpilers are, they will always have additional overhead compared to tools with no transpilers.

If you are building libraries or applications to work with Node.js runtime (not the browser), there is no need to use a transpiler. As a result:

  • You will have a better debugging experience.
  • Your application and tests will boot faster.
  • No additional configuration to manage.

Works with your existing project setup

Since Japa does not have to use transpilers, it works with your existing project setup. Moreover, Japa does not even have a CLI tool. You run your tests using the node or bun command.

Pinned Loading

  1. runner runner Public

    Standalone test runner built on top of japa core

    TypeScript 446 3

  2. core core Public

    The core of Japa. It includes all the primitives to build a test runner

    TypeScript 383 15

  3. create-japa create-japa Public

    Initialize Japa in existing Node.js projects

    TypeScript 7 2

Repositories

Showing 10 of 20 repositories
  • core Public

    The core of Japa. It includes all the primitives to build a test runner

    japa/core’s past year of commit activity
    TypeScript 383 MIT 15 0 0 Updated Jun 17, 2024
  • create-japa Public

    Initialize Japa in existing Node.js projects

    japa/create-japa’s past year of commit activity
    TypeScript 7 MIT 2 0 0 Updated Apr 29, 2024
  • api-client Public

    API client to test endpoints over HTTP. Uses superagent under the hood

    japa/api-client’s past year of commit activity
    TypeScript 12 MIT 2 1 1 Updated Apr 25, 2024
  • runner Public

    Standalone test runner built on top of japa core

    japa/runner’s past year of commit activity
    TypeScript 446 MIT 3 3 0 Updated Apr 16, 2024
  • errors-printer Public

    Reusable package to pretty print test runner summary errors

    japa/errors-printer’s past year of commit activity
    TypeScript 7 MIT 1 0 0 Updated Apr 16, 2024
  • .github Public

    Japa home on Github

    japa/.github’s past year of commit activity
    0 0 0 0 Updated Apr 10, 2024
  • japa.dev Public

    The documentation website for Japa

    japa/japa.dev’s past year of commit activity
    TypeScript 22 13 0 1 Updated Apr 5, 2024
  • plugin-adonisjs Public

    Plugin that acts as a bridge between AdonisJS and Japa

    japa/plugin-adonisjs’s past year of commit activity
    TypeScript 3 MIT 0 0 0 Updated Apr 2, 2024
  • browser-client Public

    Browser client plugin built on top of Playwright

    japa/browser-client’s past year of commit activity
    TypeScript 8 MIT 0 0 0 Updated Apr 2, 2024
  • expect-type Public

    Write assertions for TypeScript types

    japa/expect-type’s past year of commit activity
    TypeScript 6 MIT 0 0 0 Updated Apr 2, 2024