ホームページ >バックエンド開発 >PHPチュートリアル >シリウスとTDDで歯を切る
この記事では、SymfonyベースのeコマースアプリケーションであるSyliusと、テスト駆動型開発(TDD)への堅牢なアプローチを調査し、100%のコードカバレッジを達成しました。 Syliusテスト環境のセットアップをご案内し、Behat、Phpunit、およびPhpspecのデータベースの作成と構成をカバーします。
この記事では、Syliusの行動駆動型開発(BDD)とTDDの両方の重要性を強調し、これらの方法論がコードの品質と保守性をどのように高めるかを示しています。 実用的な例は、既存の機能を変更し、テストファーストアプローチを使用して新しい機能を追加することを示しています。
フォルダーに分離します。 TDDを開始するには、最初にテストデータベースを構成します:
src
Syliusはさまざまなテストタイプを提供しています:app
<code class="language-bash">php bin/console doctrine:database:create --env=test php bin/console doctrine:schema:create --env=test</code>phpunit:
Syliusには多数のphpunit機能テストが含まれています。 構成(
)はWebルートにあり、単体テストはフォルダーにあります。 ランニングテスト(例:)には:が含まれます
phpunit.xml.dist
tests
tests/Controller/CountryApiTest.php
<code class="language-bash">./vendor/phpunit/phpunit/phpunit -c ./phpunit.xml.dist tests/Controller/CountryApiTest</code>
PHPSPEC:行動駆動型開発(BDD)の場合、SyliusはPHPSPECを利用します。仕様はPHPクラスで記述され、多くの場合、スイートにグループ化されます。 PHPSPECの実行(例:
src/Sylius/Component/Order/spec/Model/OrderItemSpec.php
<code class="language-bash">./bin/phpspec run -fpretty --verbose src/Sylius/Component/Order/spec/Model/OrderItemSpec.php</code>
behat:behatは、gherkin構文を使用して機能ファイルのアプリケーションの動作を説明します。 Syliusは、
フォルダーを提供します。 Behat Testの実行(例:):
behat.yml.dist
features
features/order/managing_orders/browsing_orders.feature
<code class="language-bash">./bin/behat features/order/managing_orders/browsing_orders.feature</code>
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 サイトの他の関連記事を参照してください。