ReactTestUtils дает вам минимум для тестирования компонента React. Я не видел, чтобы он использовался для больших приложений.
Фермент и библиотека реагирования на тестирование - это хорошие библиотеки, которые предоставляют вам все инструменты, необходимые для тестирования вашего приложения. У них есть две разные философии.
Фермент позволяет вам получить доступ к внутренней работе ваших компонентов. Вы можете читать и устанавливать состояние, а также издеваться над детьми, чтобы ускорить выполнение тестов.
С другой стороны, реагирующая библиотека тестирования не дает вам никакого доступа к деталям реализации. Он отображает компоненты и предоставляет служебные методы для взаимодействия с ними. Идея заключается в том, что вы должны общаться со своим приложением так же, как это делает пользователь. Поэтому вместо того, чтобы устанавливать состояние компонента, вы воспроизводите действия, которые пользователь будет выполнять для достижения этого состояния.
По моему опыту, Фермент легче понять, но в долгосрочной перспективе его труднее поддерживать. Реактивная библиотека реагирования заставляет вас писать тесты, которые в среднем немного сложнее, но вознаграждают вас большей уверенностью в вашем коде.