> For the complete documentation index, see [llms.txt](https://sydrawat.gitbook.io/react/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sydrawat.gitbook.io/react/miscellaneous/testing.md).

# Testing

## What & Why?

What is testing? Why do we need tests.

![Manual vs Automated Testing](/files/-M_UN0GpxQxWR3QBE2z8)

## Types of Automated Tests

There are 3 basic categories of automated tests:

1. Unit Tests
2. Integration Tests
3. End-to-end (e2e) Tests

![Types of Automated Tests](/files/-M_URUH5hsLR5aJCAE17)

### Unit Tests

These are the most common and important type of tests. Unit tests are basically the ones that test the **individual building blocks** (functions, components) of the app **in isolation**.

A typical app contains dozens and hundreds of unit tests.

### Integration Tests

Integration tests usually test the **combination** of multiple building blocks. Projects typically contain a couple of integration tests. These are also important, but the focus is more on unit tests.

### E2E Tests

These automated tests test the complete scenarios in our app as the user would experience them. Projects typically contain a few end-to-end tests. These types of test are important, but can also be done manually (*partially*).

## What & How to Test?

We'll be working with unit tests, so typically we will be testing the smallest building blocks of our code.

![What & How to test our app.](/files/-M_UTdKG1PfyYQewK-8Y)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://sydrawat.gitbook.io/react/miscellaneous/testing.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
