Skip to content

pixielabs/cavy-native-reporter

Repository files navigation

Cavy logo

Cavy Native Reporter

npm version

A reporter for Cavy, a React Native testing framework, that reports test results to native Android or iOS test runners.

By default Cavy reports a completed test run to cavy-cli. Cavy Native Reporter provides an alternative reporter for Cavy which fires a Native Module callback when tests are finished. You can then wire this in to a native test runner such as XCTest.

You may want to do this if you already have some application tests that are native, e.g. if you already use XCTest to test parts of your app. This could be because not all of your app is React Native, or if you app makes heavy use of native code. You may also want to use it if you have an existing CI pipeline set up for running a native test framework, and don't want to adapt it for Cavy & cavy-cli.

You probably don't need this if your app is purely a React Native app and you have no existing native tests. You can probably just use cavy-cli instead.

Getting started

Follow the Cavy Native Reporter guide to integrate Cavy into your native testing setup.

Full API documentation can be found on the Cavy website.

Thank you!

Cavy Native Reporter was inspired by work done by Nozbe on WatermelonDB, a high-performance database framework for React that uses Cavy for running native integration tests.

Thank you to Radek in particular who really helped get it off the ground ❤️.

Contributing

Before contributing, please read the code of conduct.

  • Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
  • Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
  • Fork the project.
  • Start a feature/bugfix branch.
  • Commit and push until you are happy with your contribution.
  • Please try not to mess with the package.json, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so we can cherry-pick around it.