Один из ответов SO на вопрос «об ограничениях модульного тестирования» заключался в том, что модульное тестирование становится запутанным, когда оно используется для тестирования чего-либо, связанного с INTEGRATION, а не с функцией. Подключение к внешним службам и их использование (база данных, SSH-соединение с другим сервером и т. Д.) И пользовательские интерфейсы - вот два примера.
Это не значит, что вы НЕ МОЖЕТЕ использовать модульное тестирование для этих вещей, просто трудность, связанная с охватом всех баз, делает использование этого метода тестирования не стоящим, за исключением случаев, когда надежность имеет первостепенное значение.
Я использую «тесты сценариев» для всего своего пользовательского кода пользовательского интерфейса JavaScript (движок шаблонов, эффекты, анимации и т. Д.) И считаю его быстрым и надежным, если все сделано правильно.