Artikel ini meneroka Sylius, aplikasi e-dagang berasaskan simfoni, dan pendekatan yang mantap untuk pembangunan yang didorong oleh ujian (TDD), mencapai liputan kod 100%-prestasi yang luar biasa untuk aplikasi PHP skala. Kami akan membimbing anda melalui menubuhkan persekitaran ujian Sylius, yang meliputi penciptaan pangkalan data dan konfigurasi untuk Behat, PHPUNIT, dan PHPSPEC.
Sylius memanfaatkan rangka kerja Symfony, dan kodnya berada dalam folder
, menyimpan kod aplikasi tersuai anda yang terpisah dalam folder src
. Untuk memulakan TDD, kita mula -mula mengkonfigurasi pangkalan data ujian: app
php bin/console doctrine:database:create --env=test php bin/console doctrine:schema:create --env=test
phpUnit: Sylius termasuk banyak ujian fungsional phpunit. Konfigurasi () terletak di akar web, dengan ujian unit dalam folder phpunit.xml.dist
. Ujian berlari (mis., tests
tests/Controller/CountryApiTest.php
./vendor/phpunit/phpunit/phpunit -c ./phpunit.xml.dist tests/Controller/CountryApiTest
phpspec:
Untuk pembangunan yang didorong oleh tingkah laku (BDD), Sylius menggunakan PHPSPEC. Spesifikasi ditulis dalam kelas PHP, sering dikelompokkan ke dalam suite. Menjalankan PHPSPEC (mis.,):
src/Sylius/Component/Order/spec/Model/OrderItemSpec.php
./bin/phpspec run -fpretty --verbose src/Sylius/Component/Order/spec/Model/OrderItemSpec.php
Behat: Behat memudahkan StoryBDD, menggunakan sintaks gherkin untuk menggambarkan tingkah laku aplikasi dalam fail ciri. Sylius menyediakan folder
dan. Menjalankan Ujian Behat (mis., ):
behat.yml.dist
features
features/order/managing_orders/browsing_orders.feature
./bin/behat features/order/managing_orders/browsing_orders.feature
mari kita menggambarkan TDD dengan menukar ikon halaman senarai pesanan. Kami akan mengikuti langkah -langkah ini:
Tambahkan ciri:
Buat
.
Tambahkan objek halaman: features/order/managing_orders/browsing_orders_with_visual_display.feature
Buat
Tambahkan konteks: Tambahkan konteks Behat dalam src/Sylius/Behat/Resources/config/services/contexts/ui.xml
dan buat src/Sylius/Behat/Context/Ui/Admin/ViewingPageIconContext.php
.
Dengan menulis ujian terlebih dahulu, kemudian membuat perubahan kod untuk lulus ujian tersebut, kami memastikan aplikasi yang boleh dipercayai dan mantap. Artikel ini menyediakan asas untuk memahami dan melaksanakan TDD dalam Rangka Kerja E-Commerce Sylius.
Atas ialah kandungan terperinci Sylius dan memotong gigi anda di TDD. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!