Test & Debug - React Native SDK
Testing
You can test the Realm React Native SDK with popular React Native testing libraries like Jest, Jasmine, and Mocha.
Clean Up Tests
When testing the Realm React Native SDK, you must close realms with Realm.close() after you're done with it to prevent memory leaks.
You should also delete the realm file with Realm.deleteFile() during clean up to keep your tests idempotent.
test("Open a Local Realm", async () => { const config = { schema: [Car], path: "localOnly.realm", }; const realm = await Realm.open(config); expect(realm.isClosed).toBe(false); realm.close(); expect(realm.isClosed).toBe(true); Realm.deleteFile(config); });
Debugging
Realm provides differing levels of support for various React Native debuggers.
Safari Developer Tools
If you're a macOS user, you can use Safari Developer Tools to debug the iOS version of your React Native app with Realm.
To set up Safari Developer Tools with your React Native app, refer to the official documentation.
Flipper
Flipper is a platform for debugging React Native apps. You can currently only only use Flipper with the Realm React Native SDK Hermes release. Hermes is a JavaScript engine optimized for React Native.
Chrome Developer Tools
While Realm works with the Chrome Developer Tools on React Native, the debugger's performance degrades significantly when using it with Realm. This is due to the blocking nature of the RPC calls made by Realm.
If you are able, you should use the Safari Developer Tools or Flipper instead of the Chrome Developer Tools.