Jet lets you test your React Native Module APIs in JS mock free and native testing code free - ideal for testing React Native modules e2e.


Keywords
react-native, react native module, mocha, coverage, istanbul, ci, e2e, integration, test, testing
License
Apache-2.0
Install
npm install jet@0.9.0-dev.4

Documentation


Jet

NPM downloads NPM version License Chat Follow on Twitter


Jet lets you test your React Native Module APIs in JS mock free and native testing code free - ideal for testing React Native modules e2e.

Features:

  • ⏩ Test with JavaScript - write your native module tests in javascript and fully e2e test them.
  • 💯 Coverage - get full code coverage output for your React Native module's JS API with built in coverage support (--coverage).

image


Latest supported React Native version: ^0.74


Quick Setup

yarn add jet@0.9.0-dev.9

These docs are still TODO, for now see example, in particular:

Configuring Jet and targets:

Adding the test UI and your tests:

Configuring coverage instrumentation:

Running tests

jet --target=macos

.jetrc.js

Example:

const proc = require('node:child_process');

module.exports = {
  config: {
    // Global config overrides/defaults...
  },
  targets: {
    // Use any key name to specify a new 'target' (--target=<key>)
    // [key: string]: { ... }
    macos: {
      // --target=macos
      config: {
        // Per target config overrides...
        // These will override in order of:
        // ...cliFlags
        // ...globalConfig
        // ...targetConfig
      },
      /**
       * Use this to run builds, start the application etc.
       */
      async before(config) {
        proc.spawnSync('npx', ['react-native', 'run-macos']);
        return config;
      },
      /**
       * Use this for cleanup & teardown.
       */
      async after(config) {
        console.log('After');
      },
    },
  },
};

💛 How can I help?

For now please see the open issues tracking work that needs doing discussions and thoughts on these issues and on Jet will help us mature the project into a useful tool.


😎 Projects using Jet

These projects use Jet to test their modules:

  • React Native Firebase: 🔥 A well tested feature rich modular Firebase implementation for React Native. Supports both iOS & Android platforms for over 15 Firebase services.

Submit a PR to add your project here.