Пресеты архитектурного тестирования в Pest 3

Источник: «A Guide to Architecture Testing Presets in Pest 3»
Узнайте, как Pest 3 упрощает архитектурное тестирование с помощью пресетов, позволяя без труда внедрять лучшие практики и поддерживать качество кода в проектах.

Введение

Если вы похожи на меня, то всегда ищете способы улучшить качество и сопровождаемость кода. Написание архитектурных тестов с Pest 2 — один из способов сделать это. Но теперь, благодаря пресетам архитектурного тестирования в Pest 3, это можно сделать без особых усилий.

Если нужно, узнайте, как начать работу с новой версией Pest.

Что такое пресеты архитектурного тестирования

Пресеты архитектурного тестирования в Pest 3 — это предварительно настроенные наборы правил, помогающие обеспечить соблюдение лучших практик и структурной целостности кодовой базы. Они похожи на бдительного ревизора кода, встроенного прямо в набор тестов. Но это происходит мгновенно и занимает всего несколько секунд!

Pest 3 поставляется с несколькими пресетами в комплекте:

Давайте разберёмся, что каждый из этих пресетов предлагает.

Пресет Laravel: Лучший друг Laravel проекта

Пресет Laravel создан для приложений Laravel. Он содержит множество правил, обеспечивающих соответствие кода лучшим практикам и соглашениям Laravel. Вот примерный список того, что он делает:

И это ещё только начало! Это как если бы сам Тейлор Отвелл проверял структуру вашего кода 🤣!

Для использования пресета Laravel в тестах просто добавьте:

arch()->preset()->laravel();

При необходимости можно исключить определённые пространства имён:

arch()->preset()->laravel()->excluding('App\Exceptions');

Пресет PHP: Для остальных проектов

Пресет PHP направлен на поддержание чистого, профессионального PHP кода. Он сосредоточен на предотвращении использования устаревших или потенциально опасных PHP функций. Вот как это выглядит в действии:

Чтобы применить пресет PHP в тестах, используйте:

arch()->preset()->php();

Пресет Relaxed: Когда нужно немного гибкости

Иногда требуется немного больше гибкости в архитектуре. И если бы это зависело от меня, я бы сказал, что нужно соблюдать правила! И тут на помощь приходит пресет Relaxed. Это самый мягкий из всех пресетов:

Он идеально подходит для проектов, в которых требуется немного больше свободы действий, или для работы с устаревшим/легаси кодом, для которого пока нет возможности провести рефакторинг.

Чтобы использовать пресет Relaxed, добавьте следующее в файл теста:

arch()->preset()->relaxed();

Пресет Security: Телохранитель кода

Пресет Security предназначен для обеспечения безопасности и сохранности кода.

Чтобы обеспечить соблюдение этих правил безопасности, используйте:

arch()->preset()->security();

Пресет Strict: Для безумцев

И последний, но не менее важный, пресет Strict. Он предназначен для разработчиков, предпочитающих, чтобы их код выглядел как строгий аудитор налоговой службы.

Чтобы применить этот строгий набор правил, используйте:

arch()->preset()->strict();

Завершение

Пресеты архитектурного тестирования в Pest 3 — это революционное решение для поддержания качества и согласованности кода. Они похожи на команду экспертов-рецензентов, постоянно проверяющих структуру и практику работы с кодом.

Работаете ли над проектом Laravel, нуждаетесь ли в соблюдении строгих стандартов безопасности или просто хотите, чтобы PHP код был чистым и современным, — для вас найдётся подходящий пресет.

Так что попробуйте эти пресеты в следующем Pest 3 проекте. Ваше будущее (и ваша команда) поблагодарит за чистую, последовательную и безопасную кодовую базу!

Счастливого тестирования, и пусть сборки всегда будут зелёными!

Дополнительные материалы

Предыдущая Статья

Что нового в Pest 3 и как его обновить

Следующая Статья

Валидация (безопасных) URL-адресов