# Testing

We recommend the [**@web/test-runner**](https://modern-web.dev/docs/test-runner/overview/) tool, if your project was created with the command `npm init @atomico` the test environment will be preconfigured, you can see this pre-configuration at <https://github.com/atomicojs/base/tree/2-started>.

{% content-ref url="testing/test-dom" %}
[test-dom](https://atomico.gitbook.io/doc/api/testing/test-dom)
{% endcontent-ref %}

{% content-ref url="testing/atomico-test-dom" %}
[atomico-test-dom](https://atomico.gitbook.io/doc/api/testing/atomico-test-dom)
{% endcontent-ref %}

{% content-ref url="testing/test-hooks" %}
[test-hooks](https://atomico.gitbook.io/doc/api/testing/test-hooks)
{% endcontent-ref %}

### Advanced (Documentation in progress)

To scale the test environment you can complement with tools such as:

1. [**Cypress**](https://www.cypress.io/): allows you to automate interactions and evaluate interactions of your interface.
2. [**Percy**](https://percy.io/): Allows you to evaluate the appearance changes of your component or application between versions.
