この記事では、SymfonyベースのeコマースアプリケーションであるSyliusと、テスト駆動型開発(TDD)への堅牢なアプローチを調査し、100%のコードカバレッジを達成しました。 Syliusテスト環境のセットアップをご案内し、Behat、Phpunit、およびPhpspecのデータベースの作成と構成をカバーします。
この記事では、Syliusの行動駆動型開発(BDD)とTDDの両方の重要性を強調し、これらの方法論がコードの品質と保守性をどのように高めるかを示しています。 実用的な例は、既存の機能を変更し、テストファーストアプローチを使用して新しい機能を追加することを示しています。
フォルダーに分離します。 TDDを開始するには、最初にテストデータベースを構成します:
src
Syliusはさまざまなテストタイプを提供しています:app
php bin/console doctrine:database:create --env=test php bin/console doctrine:schema:create --env=test
Syliusには多数のphpunit機能テストが含まれています。 構成(
)はWebルートにあり、単体テストはフォルダーにあります。 ランニングテスト(例:)には:が含まれます
phpunit.xml.dist
tests
tests/Controller/CountryApiTest.php
./vendor/phpunit/phpunit/phpunit -c ./phpunit.xml.dist tests/Controller/CountryApiTest
PHPSPEC:行動駆動型開発(BDD)の場合、SyliusはPHPSPECを利用します。仕様はPHPクラスで記述され、多くの場合、スイートにグループ化されます。 PHPSPECの実行(例:
src/Sylius/Component/Order/spec/Model/OrderItemSpec.php
./bin/phpspec run -fpretty --verbose src/Sylius/Component/Order/spec/Model/OrderItemSpec.php
behat:behatは、gherkin構文を使用して機能ファイルのアプリケーションの動作を説明します。 Syliusは、
フォルダーを提供します。 Behat Testの実行(例:):
behat.yml.dist
features
features/order/managing_orders/browsing_orders.feature
./bin/behat features/order/managing_orders/browsing_orders.feature
tddアクション:注文リストの変更ページ
注文リストページアイコンを変更して、TDDを説明しましょう。これらの手順に従います:
機能を追加する:
features/order/managing_orders/browsing_orders_with_visual_display.feature
を作成します。 ページオブジェクトを。に登録します
コンテキストを追加:src/Sylius/Behat/Resources/config/services/contexts/ui.xml
。
src/Sylius/Behat/Context/Ui/Admin/ViewingPageIconContext.php
この記事は、信頼できるソフトウェアを構築するためのTDDの有効性を強調し、テストファーストアプローチを促進することで締めくくります。 FAQセクションでは、SyliusおよびTDDの概念をさらに明確にします
以上がシリウスとTDDで歯を切るの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。