Я склонен искать поведение более высокого уровня в сценариях или приемочных тестах, чем при юнит-тестах. В частности, я ищу поведение, ценное для пользователей или других заинтересованных сторон.
В этом случае поведение высокого уровня может быть сформулировано как «пользователь получает отзыв о том, как заполнить форму». Затем вы можете просто использовать один или два примера того, как пользователь получает этот отзыв, и проверить, появляется ли сообщение проверки.
Затем вы можете поместить логику вокруг определенных сообщений в модульном тесте.
Приемочные тесты, особенно если вы используете сценарии BDD, на самом деле не являются тестами. Они являются примерами того, как использовать систему, чтобы вы могли использовать эти примеры, чтобы вести диалог с заинтересованными сторонами вашего бизнеса, и я хотел бы сформулировать их в той же степени детализации и терминах, которые интересуют заинтересованные стороны бизнеса. BDD не заменяет ручное тестирование, хотя, безусловно, может помочь снизить нагрузку.