Я использую веб-тест с носом.Хотя он не эмулирует javascript, это отличный способ использовать каждый обработчик в вашем приложении, а также имеет хорошую поддержку форм.
Для более подробного тестирования каждого граничного случая я бы остановился на наших утилитах /моделируйте логику из обработчиков и пишите тесты для них отдельно.Но это хорошо, когда есть тесты от конца до конца, и веб-тест отлично подходит для этого.