Intereting Posts
Удалите красивый стиль и скрипт, если не существует! Как вывести логотип из меню навигации? Где найти исходный код виджета? Автогенерировать правила перезаписи для нескольких таксономий Как перенести блог WordPress в другой домен? Как добавить случайное изображение в сообщение из галереи и показать только один? Регистрация пользователей 30 дней назад (или больше) Сортировка запроса по пользовательской дате поля Попытка получить новую роль для прав на редактирование для настраиваемого типа контента Нужно ли использовать WordPress nonce, позволяя пользователям загружать общедоступные данные? Как сообщить об ошибке? Выделите ссылки без использования выпадающего меню Программно создавать вложения изображений из локальных URL-адресов и настраивать изображение Код формы регистрации на лицевой стороне – поле пароля не сохраняется Многоузловая установка на ВВВ с коренными породами

Что делает возможным модульные тестовые плагины?

Это скорее вопрос, связанный с теорией.

Я не смотрю на практические способы сделать это, поскольку я могу найти много примеров (официальных и не), которые, однако, не объясняют, как можно правильно создавать и запускать тесты для элементов кода, которые так много полагаются на система (WordPress) и ее функции (крючки).

Я прошу, чтобы я признал, что мне все еще не хватает общих знаний об модульном тестировании и, скорее всего, отсутствует какой-то важный момент, который, вероятно, сделает этот пост бессмысленным: я уверен, что вы сообщите мне, если это так! 🙂

Стоит также отметить, что все это вышло после прочтения « Чистого кода»: «Руководство по гибкому программному мастерству » Роберта Мартина, которое охватывает строго типизированные языки и, в частности, сосредоточено на разработке Java, но на самом деле предоставляет так много полезных советов (многие очевидны, все еще часто игнорируются), что я хочу изо всех сил применить столько, сколько могу, на свой PHP-код, включая (чистые) модульные тесты.

Итак, вернемся к сути …

Предполагается, что тестовый блок является атомарным, независимым (что означает, что он не зависит от других тестов) и максимально инкапсулируется.

Я не вижу, как это возможно в плагине WordPress, учитывая, по крайней мере, эти аспекты:

  • Сам WordPress – мне нужно создать новый экземпляр WP. Когда? Каждый раз, когда я запускаю набор тестов? В каждом отдельном тесте?
  • Крючки. Мы так сильно зависим от крючка, что я действительно не могу понять, как мы можем создать чистый и читаемый тест, не добавляя при этом весь беспорядок для обработки крючков
  • Пользовательский интерфейс. Большинство из того, что происходит в WP, связано с пользовательским интерфейсом (как задним, так и передним). Например, как бы вы проверили на странице редактирования сообщения поведение определенной кнопки (введенной плагином)? И чтобы сделать его еще более сложным, что, если эта кнопка запускает вызов ajax и что-то изменяет на странице редактирования после публикации, не перезагружая его?

Solutions Collecting From Web of "Что делает возможным модульные тестовые плагины?"