Правильный юнит-тест в WordPress


8

Для модульного тестирования в WordPress доступны разные темы. Что касается вопроса, то должно быть надлежащее модульное тестирование для каждого элемента настройки, выполненного в WordPress.

Я проверил пару плагинов и статей о том же. Вот несколько

  1. http://codex.wordpress.org/Theme_Unit_Test
  2. http://wptest.io/
  3. https://make.wordpress.org/core/handbook/testing/automated-testing/phpunit/

Теперь с помощью модуля PHP мы можем писать тестовые случаи в соответствии с нашими потребностями. Контрольные примеры могут быть написаны для основных функций и настройки.

Как насчет автоматизированного модульного тестирования для темы с тяжелыми плагинами и настройками, например, мегаменю, визуальный композитор, настройка в Woo Commerce.

Как это можно сделать? Какие-либо стандарты для модульного тестирования для сайта, разработанного с премиальной темой и плагинами с высоким уровнем настройки?


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

1
Мы пытаемся найти стандартный выход для автоматизированного модульного тестирования, который будет работать с любым видом разработки в Wordpress. Не важно что?
Trimantra Software Solution

стандарт для чего? phpunit - это стандартный инструмент, но вы это знаете. Каждый модульный тест, очевидно, отличается в зависимости от требований конкретного блока
Марк Каплун

Стандарт, чтобы написать эффективный код и веб-сайт с качеством.
Trimantra Software Solution

Модульное тестирование используется для обнаружения регрессий при изменении кода. На самом деле они не имеют большого преимущества в одноразовой разработке сайта, которая не будет иметь больших изменений, или когда она будет иметь изменения, она будет настолько серьезной во всем тесте сломается. Модульное тестирование само по себе никак не улучшит ваш код, чтобы сделать его лучше, вам нужно использовать лучшие методы проектирования программного обеспечения.
Марк Каплун

Ответы:


8

Я думаю, что то, что вы ищете, технически называется функциональным тестированием , интеграционным тестированием или приемочным тестированием . Похоже, вы хотите проверить поведение внешнего интерфейса вашего веб-сайта (или поведение внешнего интерфейса плагина или темы), а не каждого элемента самого кода. Вы можете использовать инструмент, такой как PHPUnit, для тестирования вашего PHP-кода, и инструмент, такой как QUnit, для тестирования вашего JS-кода, но вам понадобится другой инструмент для проверки фактического поведения веб-сайта (или функции плагина / темы) как единого целого ,

К сожалению, приемочное тестирование все еще довольно молодо в пространстве WordPress. Есть несколько плагинов или тем, которые это делают, но нет «основного» метода (но смотрите trac ticket # 34693 ). Также не всегда существует инструмент консенсуса «передовой опыт». Итак, что касается инструментов, специфичных для WordPress, эта область все еще изучается. (Я сам только начинаю изучать приемочное тестирование плагина WordPress.)

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

Поскольку WordPress написан на PHP и, как правило, использует PHPUnit для тестирования, Codeception является естественным выбором для этого. Это среда, которая позволяет создавать модульные тесты (с помощью PHPUnit), функциональные тесты и приемочные тесты, которые можно запускать с помощью одной команды. Я думаю, что, возможно, это именно то, что вы ищете. Если это так, вы, вероятно, захотите также проверить WP Browser , который представляет собой набор специфичных для WordPress расширений для Codeception.

Если есть новый инструмент для приемочного тестирования плагинов WordPress, я бы сказал, что это может быть Codeception. Но, насколько мне известно, это все еще молодая вещь среди большинства разработчиков WordPress, поэтому нам придется подождать и посмотреть, что произойдет в будущем. Не стесняйтесь вскочить и начать использовать его в любом случае - возможно, это установит тенденцию!


Обновление 2017-12-12

Я использовал WP Browser для тестирования плагина WordPoints , и я был счастлив с ним. Я также настроил репозиторий, демонстрирующий, как выполнять приемочные тесты WP Browser на Travis CI . В экосистеме WordPress до сих пор не существует стандарта де-факто, но Codeception + WP Browser остается одним из наиболее заметных вариантов.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.