Magento - модульное тестирование - PullRequest
7 голосов
/ 11 сентября 2011

У меня недавно были некоторые проблемы с сайтом на Magento, и я ищу способ проверить целостность сайта на Magento в любой заданной точке.

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

Может ли кто-нибудь, участвующий в модульном тестировании и magento, посоветовать следующее:

  1. Можно ли протестировать весь сайт, а не только пользовательские модули - вот некоторые примеры тестов были бы удивительными.
  2. Учитывая, что сайт тесно связан с базой данных - как быМожно полностью протестировать сайт без нарушения работы базы данных.
  3. Существуют ли более эффективные способы автоматической проверки целостности сайта magento

Когда я говорю о целостности, я действительно имею в виду, чтоНа сайте нет ошибок - доставка, оплата и т. д. работают правильно.

1 Ответ

15 голосов
/ 11 сентября 2011

Это большая задача, однако есть члены сообщества Magento, которые справились с ней.

Модуль EcomDev_PHPUnit предоставляет основу для модульного тестирования Magento, но он не содержит никаких реальных тестов. Он мог (и был) использован для тестирования основных функций или модулей, которые вы разработали сами.

Одним из ключевых преимуществ модуля EcomDev является то, что он обеспечивает 100% изоляцию вашей базы данных. Он создает точную копию структуры вашей базы данных, а затем использует фиксаторы (см. Стр. 6 руководства ) для вставки данных в эти таблицы для создания предварительных условий тестирования. Это мощная и лучшая практика, но она требует небольшой настройки.

Вы можете попробовать использовать phpMyAdmin для экспорта данных в YAML, чтобы подготовиться к созданию приборов.

Альтернативой является создание и автоматизация комплексного набора тестов Selenium для пользовательского интерфейса браузера. На самом деле, лучшее решение - это подготовить и модульные тесты, и тесты пользовательского интерфейса, поскольку будут области, которые можно тестировать только в одной функциональной области. Существует много бизнес-логики, встроенной в Javascript Magento (например, все validation.js), которую PHPUnit не может легко протестировать, Selenium - ваш лучший вариант здесь.

Были ранние разговоры о создании хранилища модульных тестов для охвата основных функций, однако имейте в виду, что Magento 2.0 (планируется на 2012 год) объявляет о полном покрытии тестов .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...