---
title: "Rocket Chat Mobile App Testing"
slug: "testing-your-mobile-app"
description: "Learn to test Rocket Chat mobile apps. Ensure secure performance, fix bugs, and improve collaboration on iOS and Android."
updated: 2026-05-25T15:49:59Z
published: 2026-05-28T01:30:50Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://developer.rocket.chat/llms.txt
> Use this file to discover all available pages before exploring further.

# Testing your Mobile App

Testing is an integral part of mobile app development to ensure the reliability, functionality, and user experience of your Rocket.Chat mobile app. The Rocket.Chat mobile app uses a comprehensive testing strategy with **unit tests** and **e2e tests**.

This guide will walk you through various testing approaches for Rocket.Chat mobile app.

## How to inspect the app

[React Native Devtools](https://reactnative.dev/docs/react-native-devtools) is used to inspect logs, redux state, redux-sagas, HTTP requests, etc.

## Unit tests

Unit tests focus on isolating and testing individual components or functions within your app. They help identify and fix bugs early in the development process and ensure that each part of your app works as intended. For unit tests, we use [Jest](https://jestjs.io/) and [Storybook](https://storybook.js.org/).

### Storybook

Storybook is a tool for developing UI components, with plugins that enable Jest to generate snapshots. Navigate to the [index.js file](https://github.com/RocketChat/Rocket.Chat.ReactNative/blob/develop/index.js#L55) in your project's root directory, and keep only the last Storybook import while commenting out the remaining part of the code. Then, refresh your project, and you will observe the generation of tests like this:

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/Storybook.avif)

### Jest

We use Jest for unit tests and to generate Storybook snapshots. There is a pre-commit hook to prevent commits that break any tests. To check for test issues on your code, run this command:

```bash
pnpm test
```

## E2E tests

[Maestro](https://maestro.dev/) framework tests our app end-to-end and ensures everything works properly.

> To run the test, follow the steps on the [e2e GitHub repository](https://github.com/RocketChat/Rocket.Chat.ReactNative/tree/develop/.maestro).

## Code style

[ESLint](https://eslint.org/) is used to enforce code style and best practices. There is a pre-commit hook enforcing commits to follow our lint rules.

To check for lint issues in your code, run this command:

```bash
pnpm lint
```

## Code formatting

[Prettier](https://prettier.io/) is used to format the code style in our project. There is a pre-commit hook that enforces the commits to follow our style guides.

To fix your code formatting issues, run this on your terminal:

```bash
pnpm exec prettier --write .
```

> To integrate Prettier with your preferred code editor, see the [official documentation](https://prettier.io/docs/en/editors.html).
