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
).
Latest supported React Native version: ^0.74
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:
jet --target=macos
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');
},
},
},
};
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.
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.