Victor Tortolero
Victor Tortolero

Reputation: 93

How to add jest specific setup to create-react-native-app?

I created a project with create-react-native-app and I want to use jest-enzyme matchers, in their Readme there is a section on how to use it with create-react-app, but I did not find any info on how to use it with create-react-native-app.

To add these matchers all I need is to create a jest setup file, but create-react-native-app does not seen to allow for custom jest setup file.

So it's possible to a use a custom jest setup file without ejecting from create-react-native-app?

Also is there any way to add a jest setup file for create-react-native-app?

Upvotes: 4

Views: 180

Answers (1)

Alexis Duran
Alexis Duran

Reputation: 640

Maybe what you are looking for is http://airbnb.io/enzyme/docs/guides/react-native.html which explains as follows:

Unfortunately, React Native has many environmental dependencies that can be hard to simulate without a host device.

This can be difficult when you want your test suite to run with typical Continuous Integration servers such as Travis.

A pure JS mock of React Native exists and can solve this problem in the majority of use cases.

To install it, run:

npm i --save-dev react-native-mock

After adding that dependency you need to import the /mock within your tests you should good to go. Maybe I am out of context, you can update your problem and give us some extra context so we can craft a better answer.

Ultimately, there is something important to mention in this thread: https://github.com/airbnb/enzyme/issues/928 for the time of this post RN is in version 0.47 and working with react 16 alpha which is not a supported version for enzyme (the people at enzyme only work with rc versions) so if that is your case things looks quite difficult as there is no official support, however, last comment https://github.com/airbnb/enzyme/issues/928#issuecomment-324584942 offers unofficial alternatives

PD: make sure you follow the installation instructions here: http://airbnb.io/enzyme/docs/installation/index.html

Upvotes: 1

Related Questions