На пальцах про AAA



Как вы могли понять речь пойдёт не о батарейках или играх. Сегодняшний пост про юнит-тестирование.



Согласитесь, в таком сложном мире как программирование сложно ориентироваться, когда всё лежит где попало, не на своих местах.



Гораздо проще, когда всё структурировано, лежит, так сказать, по полочкам.

Однажды, умные разработчики подумали, и поняли, что и тесты можно структурировать и разложить на конкретные и понятные этапы.



Arrange



В этой секции находится код, ответственный за настройку теста. Создание объектов, подготовка данных, настройка моков и так далее.



Act



Затем идёт действие. То есть, непосредственно вызов тестируемого функционала.



Assert



Финальный этап - проверка. Проверяется всё что требуется проверить. Какие получились данные, состояние объектов, вызвалось ли то что нужно, была ли ошибка. В общем, есть где развернуться.



Вот и получается, что паттерн Arrange-Act-Assert за счёт своей простоты и эффективности в отношении организации и написания тестов стал де-факто стандартом индустрии.