Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
ios
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


Jet

NPM downloads NPM version License Chat Follow on Twitter

WARNING: Jet is currently a Proof of Concept, APIs and usage is likely to change by the first release version.

This repo is in development and does not have a full release version yet. v0.1.0 is the latest stable version in it's current form - this works on Android & iOS on React Native ^0.56-59.5 and Detox ^10.0.13.


Jet lets you bring your React Native JS code into NodeJS and test it mock free and native testing code free - ideal for testing React Native modules e2e.

Jet extends upon wix/detox and by default the Mocha testing framework.

Detox provides all the functionality you'll need to control your testing app, device and it's UI (if you have one) whilst Jet allows JS code execution in the context of your RN app via Node.js - giving you full access to all the Native api's as you would have inside your app.


Latest supported React Native version: ^0.59.5

Latest supported Detox version: ^10.0.13


Features

Test with JavaScript

Your test suites and your React Native code run inside NodeJS - making testing your modules with NodeJS testing frameworks (Mocha only currently, to be replaced with Jest) possible.

test suite

🐞 Debugging

Supports debugging your test suites and your React Native JS bundle using the standard NodeJS debugger protocol.

debugging

💯 Coverage

Get full code coverage output for your React Native module's JS API using istanbul/nyc coverage tools.

coverage

☕️ Full Detox API support

Supports the full Detox API; reloading or relaunching your app automatically reconnects to your React Native JS bundle.

detox

Full access to React Native bundle context

Jet gives you full access to the JS context of your React Native app inside NodeJS ⚡️.

Quick Setup

$ yarn add jet
$ react-native link jet

in your mocha.opts add

--require jet/platform/node

You can update your package.json scripts with a task for packager-jet:

"packager-jet": "REACT_DEBUGGER='echo nope' react-native start",

Before starting your tests launch the packager-jet and afterwards start your detox tests.

💛 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.

About

✈️ Test your React Native modules e2e; mock-free and native testing code free.

Resources

License

Packages

No packages published