# Как это работает? Что такое набор тестов (test suite) тестовое покрытие (test coverage)?

Но как это работает? Если обобщенно, для каждого языка программирования есть фреймворк для написания и запуска тестов, целями которого являются:&#x20;

1. определить структуру тестовых случаев (**test case**) и наборов тестов\* (**test suite**)
2. запустить определенные тесты один за другим (или паралельно)

Примерами таких фреймворков на Node.js являются Jest, Mocha, Jasmine.

Но также наверное возник еще один вопрос: как определить, что наших тестов достаточно для того, чтобы определить полную работоспособность нашего кода. Ответом на этот вопрос являются инструменты для анализа покрития кода тестами (**test coverage**). Эти инструменты позволяют сколько кода в процентном соотношении покрыто тестами (вплоть до того, что некоторые инструменты позволяют определить строки кода, ветвления логики или функции, которые не покрыты тестами).

\*набор тестов (test suite) - это несколько тестов, обьединенных в некоторую логическую групу (по тестированному контроллеру, методу и т. д.) и которые запускаются друг-за-другом
