Czego używasz do testowania jednostek w Magento? A co wiesz o testowaniu jednostkowym i Magento? Niezależnie od tego, czy korzystasz z TDD, czy po prostu chcesz mieć zasięg testu jednostkowego dla komponentów projektu, potrzebujesz do tego pewnych narzędzi.
Pierwszym podstawowym podejściem jest użycie zwykłego phpunit, ale są rzeczy, które wymagają dodatkowych sztuczek, aby Magento było „testowalne”.
Wszystko, z czym pracowałem, jest związane z phpunit:
- MTAF
- EcomDev_PHPUnit (wady: nie można testować wiadomości e-mail)
- TechDivision_MagentoUnitTesting (próba backportu testów jednostkowych Magento 2)
- Test magów (lekkie testy jednostkowe dla Magento)
Czy są inne opcje?
źródło
PHPUnit jest tym, czego używa Magento 2. Oto przykładowy plik na GitHub. https://github.com/magento/magento2/blob/master/dev/tests/unit/testsuite/Magento/Captcha/Helper/DataTest.php . (Wybrałem ten plik losowo.) Możesz rzucić okiem na podejście testowe Magento 2, aby wszystko, co teraz robisz, było kompatybilne z Magento 2 po wydaniu.
źródło
Powinieneś iść z EcomDev PHPUnit .
Osobiście uważam, że wszyscy programiści Magento powinni dążyć do spójnego rozwiązania do testowania jednostkowego. EcomDev zapewnia najczęściej używane i najbardziej dojrzałe z tych frameworków, dzięki czemu masz już przyzwoitą pulę programistów z doświadczeniem w tym. Korzystanie z jednego frameworka zmniejsza również potrzebę instalowania bajillionu różnych frameworków.
EcomDev PHPUnit ma jednak tę dziwną konwencję polegającą na umieszczaniu testów bezpośrednio obok kodu produkcyjnego. Na szczęście można to łatwo rozwiązać, modyfikując kilka wierszy kodu. EcomDev również nie spieszy się z aktualizacjami (chociaż ich repozytorium Github wykazuje oznaki aktywności, więc wciąż żyją).
źródło
Do testów jednostkowych najlepszy jest EcomDev PHPUnit.
Może chcesz spróbować testów funkcjonalnych na Magento? Przykład z casperjs: https://github.com/jacquesbh/hackathon-casperjs/
źródło