Інструменти для тестування одиниць у Magento


23

Що ви використовуєте для тестування одиниць у Magento? Або що ви знаєте про тестування модулів та Magento? Незалежно від того, чи є у вас TDD або ви просто хочете мати тестові покриття для компонентів проекту, для цього вам потрібні деякі інструменти.

Перший базовий підхід - це використання простого фпуніту, але є речі, яким потрібні додаткові трюки, щоб зробити Magento "перевіреним".

Все, з чим я працював, пов'язане з phpunit:

Чи є інші варіанти?

Відповіді:


14

Ознайомтеся з PHPSpec з MageSpec, якщо ви хочете щось не засноване на PHPUnit, а з якоюсь інтеграцією Magento. Його корисний, але не просто готовий до прайм-тайму. Для глузування з PHPSpec 2 використовується Prophecy (що чудово), але зовсім не подобається чарівникам та сетерам. З цієї причини краще використовувати Mockery замість цього, який працює чудово (і мені це дуже подобається).

Тоді також є Behat з BehatMage для BDD з Magento. Варто переглянути, але це не вдається, наприклад, якщо ви хочете протестувати різні представлення магазинів у різних доменах.

Також є розширення на BehatMage під назвою MageBehat (жахливе називання!), Яке вийшло з хакатону. Це забезпечує багато Magento конкретних дій для BehatMage, але якщо чесно, деякі використані обхідні шляхи є скоріше хаком, ніж реальним вирішенням основних проблем. Все-таки його корисність.

Я сподіваюсь, що обидва проекти - MageSpec та BehatMage - процвітатимуть у майбутньому.


Дякую Вінаю за вашу відповідь. Я знаю про BehatMage та роботу, яку виконала команда в Inviqa / Session Digital (мені незрозуміло їх структура компанії) ... Я шукав тільки речі з phpunit, Behat / BehatMage - це не те, що мені подобається, я грав MageSpec деякий час тому.
FlorinelChis

Англійська мова не є моєю рідною мовою, деталі, які я надавав, могли бути зрозумілішими. Я займаюся деякими дослідженнями для лондонської групи користувачів Magento - грудня Meetup.
FlorinelChis

4

PHPUnit - це те, що використовує Magento 2. Ось приклад файлу на GitHub. https://github.com/magento/magento2/blob/master/dev/tests/unit/testsuite/Magento/Captcha/Helper/DataTest.php . (Я вибрав цей файл навмання.) Можливо, ви хочете швидко ознайомитися з тестовим підходом Magento 2, щоб все, що ви робите зараз, було сумісним з Magento 2 після його виходу.


Я не думаю, що ОП тут говорить про Magneto 2.
Маріус

3

Ви повинні піти з EcomDev PHPUnit .

Я особисто вважаю, що всі розробники Magento повинні прагнути до послідовного рішення тестування одиниць. EcomDev надає найбільш часто використовувані та найзріліші з цих рамок, тому у вас вже є гідний пул розробників, які мають досвід роботи в ньому. Використання єдиної рамки також зменшує потребу встановити мільярд різних рамок.

Однак у EcomDev PHPUnit є ця дивна умова про тестування безпосередньо поряд із виробничим кодом. На щастя, це легко вирішити, змінивши кілька рядків коду. EcomDev також приємно проводить час із оновленнями (хоча їх репортаж Github демонструє ознаки активності, тому вони явно живі).


Отже, кажучи все це, чи є десь репо, який має набір визначених тестових одиниць (використовуючи ecomdev_unittest), який тестує основні функціональні можливості? (Я знаю, що MTAF робить це, але чи є десь заздалегідь визначені одиничні тести?)
ProxiBlue

1
@ProxiBlue Ні, я не знаю жодного, що мені відомо. Це дуже гарна ідея для проекту громади.
Тай Фан

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.