Skip to content

Latest commit

 

History

History
24 lines (14 loc) · 1.61 KB

README.md

File metadata and controls

24 lines (14 loc) · 1.61 KB

bosphorus

Code coverage for remotely executed tests, powered by IstanbulJS.

🛑 This is pre-alpha, practically imaginary software. Proceed at your own risk.

What

Bosphorus is:

  • bosphorus-client, a utility exposing coverage data from a running JavaScript process. Put this in your babel-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.

Why

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.