Code coverage for remotely executed tests, powered by IstanbulJS.
🛑 This is pre-alpha, practically imaginary software. Proceed at your own risk.
Bosphorus is:
bosphorus-client
, a utility exposing coverage data from a running JavaScript process. Put this in yourbabel-plugin-istanbul
-instrumented app.bosphorus-cli
, a command-line tool for requesting coverage data from your app and generating reports.bosphorus-jest
, a Jest plugin that automates requesting coverage data from your app under test. Use this if you're using a remote testing library like Detox with Jest as your test runner.bosphorus-server
, a proxy that lets the above packages communicate with each other.
See examples/expo-app
for a basic example that generates coverage reports on demand from a running React Native app.
The motivation for this, ultimately, is solving wix/detox#470.
Detox is a testing framework for React Native that runs tests on actual devices/simulators, making it particularly suitable for end-to-end testing alongside a conventional unit test suite running in Node. However, unlike the commonly used unit testing solutions, Detox doesn't currently provide coverage reports.
A design goal of Bosphorus (when it's done) is to be very easy to integrate with a Detox end-to-end test suite.