# React Native Firebase - Testing Project ## Requirements * Make sure you have Xcode installed (tested with Xcode 8.1-8.2). * make sure you have node installed (`brew install node`, node 7.6.0 and up is required. * Make sure you have react-native dependencies installed: * react-native-cli is installed (`npm install -g react-native-cli`) * watchman is installed (`brew install watchman`) * [appleSimUtils](https://github.com/wix/AppleSimulatorUtils) * detox-cli `npm install -g detox-cli` ### Step 1: Npm install * Run `npm install`. ## To test build of your app ### Step 2: Build * Build the demo project ```sh detox build --configuration ios.sim.debug ``` ### Step 3: Test * start react-native packager ```sh npm run start ``` * Run tests on the demo project ```sh detox test --configuration ios.sim.debug ``` This action will open a new simulator and run the tests on it. ### TODO - Troubleshooting Gradle issues... https://stackoverflow.com/questions/46917365/error-could-not-initialize-class-com-android-sdklib-repository-androidsdkhandle?rq=1 mac: `export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home"` windows `"C://Program Files/Java/jdk_1.x_"` android sdk root `export ANDROID_SDK_ROOT="/Users/mike/Library/Android/sdk"` Add platform-tools to your path echo 'export ANDROID_HOME=/Users/$USER/Library/Android/sdk' >> ~/.bash_profile echo 'export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools' >> ~/.bash_profile Name: TestingAVD CPU/ABI: null (null) Path: /Users/mike/.android/avd/Actually_THIS_one.avd Error: Failed to parse properties from /Users/mike/.android/avd/Actually_THIS_one.avd/config.ini #### Running specific tests Mocha supports the `.only` syntax, e.g. instead of `describe(...) || it(...)` you can use `describe.only(...) || it.only(...)` to only run that specific context or test. Another way to do this is via adding a `--grep` option to e2e/mocha.opts file, e.g. `--grep auth` for all tests that have auth in the file path or tests descriptions. #### Running Node debugger Add `--inspect` to e2e/mocha.opts file To open node debugger tools on chrome navigate to chrome://inspect/#devices and click the `Open dedicated DevTools for Node` link. Add the default connection of `localhost:9229` if you haven't already - then the debugger will automatically connect everytime you start tests with inspect flag. #### Mocha options See https://mochajs.org/#usage