This talk has been presented at React Summit US 2023, check out the latest edition of this React Conference.
Video: How Realm by MongoDB is Testing Native Modules “on device”
FAQ
The Atlas Device SDK, formerly known as Realm, is a toolkit that features a local database running in mobile apps. It supports bidirectional synchronization of data between the app and a cloud database, and operates with very low latency, even without constant internet connectivity.
The Atlas Device SDK supports multiple programming languages including TypeScript, Swift, Kotlin, and .NET. It utilizes a common core component written in C++ for cross-platform compatibility.
Mocha Remote is used to facilitate testing across various platforms by running tests from a CLI interface on a host machine, allowing tests to execute on a device and report results back to the host. This setup improves developer experience by maintaining consistent test environments and reducing the need for environment-specific adjustments.
The Atlas Device SDK allows for bidirectional data synchronization between a local app and a cloud database. It requires internet connectivity only when it needs to synchronize data, otherwise it can operate offline, ensuring data is always available with minimal delay.
Mocha Remote and Jest Remote serve similar purposes but are built around different testing frameworks. Mocha Remote is based on the Mocha testing framework, whereas Jest Remote is built around Jest, which is commonly used in React Native projects. Jest Remote is notable for its pluggable runner, which is configurable from the CLI.
Jest Remote aims to support running tests in separate Node processes and plans to extend this functionality to other platforms supported by the Atlas Device SDK, enhancing versatility for developers working in different environments.
The Atlas Device SDK enhances mobile app development by providing a local database for low-latency data access, supporting robust offline functionality, and enabling seamless data synchronization with cloud services. This toolkit helps developers create more reactive and resilient mobile applications.
The Mocha Remote CLI streamlines testing by allowing developers to run tests across multiple platforms and devices directly from their terminal. It utilizes a WebSocket connection for real-time feedback and integrates seamlessly with existing development workflows, thereby enhancing efficiency and ease of use.
Check out more articles and videos
We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career
Workshops on related topic
In this three-hour workshop we’ll introduce React Testing Library along with a mental model for how to think about designing your component tests. This mental model will help you see how to test each bit of logic, whether or not to mock dependencies, and will help improve the design of your components. You’ll walk away with the tools, techniques, and principles you need to implement low-cost, high-value component tests.
Table of contents- The different kinds of React application tests, and where component tests fit in- A mental model for thinking about the inputs and outputs of the components you test- Options for selecting DOM elements to verify and interact with them- The value of mocks and why they shouldn’t be avoided- The challenges with asynchrony in RTL tests and how to handle them
Prerequisites- Familiarity with building applications with React- Basic experience writing automated tests with Jest or another unit testing framework- You do not need any experience with React Testing Library- Machine setup: Node LTS, Yarn
Tests rely on many conditions and are considered to be slow and flaky. On the other hand - end-to-end tests can give the greatest confidence that your app is working. And if done right - can become an amazing tool for boosting developer velocity.
Detox is a gray-box end-to-end testing framework for mobile apps. Developed by Wix to solve the problem of slowness and flakiness and used by React Native itself as its E2E testing tool.
Join me on this workshop to learn how to make your mobile end-to-end tests with Detox rock.
Prerequisites- iOS/Android: MacOS Catalina or newer- Android only: Linux- Install before the workshop
1. Welcome to Postman- Explaining the Postman User Interface (UI)2. Workspace and Collections Collaboration- Understanding Workspaces and their role in collaboration- Exploring the concept of Collections for organizing and executing API requests3. Introduction to API Testing- Covering the basics of API testing and its significance4. Variable Management- Managing environment, global, and collection variables- Utilizing scripting snippets for dynamic data5. Building Testing Workflows- Creating effective testing workflows for comprehensive testing- Utilizing the Collection Runner for test execution- Introduction to Postbot for automated testing6. Advanced Testing- Contract Testing for ensuring API contracts- Using Mock Servers for effective testing- Maximizing productivity with Collection/Workspace templates- Integration Testing and Regression Testing strategies7. Automation with Postman- Leveraging the Postman CLI for automation- Scheduled Runs for regular testing- Integrating Postman into CI/CD pipelines8. Performance Testing- Demonstrating performance testing capabilities (showing the desktop client)- Synchronizing tests with VS Code for streamlined development9. Exploring Advanced Features - Working with Multiple Protocols: GraphQL, gRPC, and more
Join us for this workshop to unlock the full potential of Postman for API testing, streamline your testing processes, and enhance the quality and reliability of your software. Whether you're a beginner or an experienced tester, this workshop will equip you with the skills needed to excel in API testing with Postman.
Workshop level: Intermediate