この記事では、現代のPHP開発環境のためのPHPunitの近代的な紹介を提供します。 JSONをPHPアレイに変換するシンプルなコマンドラインツールを構築し、その過程で重要なPHPunitの概念を実証します。
オブジェクト指向PHP(PHP 7以降)に精通していると仮定します。 合理化されたセットアップの場合、PHP 7をプリインストールしてプロセスを簡素化するHomesteadの改善を使用します。 いくつかのコマンドラインの使用法が関係していますが、それを案内してください。 重要な概念:
phpunit.xml
データプロバイダー:PHPUnitFrameworkTestCase
assertEquals
phpunitの概要:
phpunitは、テストの書き込みと分析を簡素化するためのツール(クラスと実行可能ファイル)を提供します。 コードの品質、カバレッジなどを示すレポートを生成します
の例アプリケーション:jsonからphpアレイコンバーター
assertEquals
JSONファイルをPHPアレイに変換するコマンドラインツールを作成します。 作曲家のPHP 7環境を想定してください。 Homesteadを使用する場合、assertTrue
vm(
プロジェクトのセットアップ:
フロントコントローラー(コンバーター/パブリックのindex.php):ssh
vagrant ssh
phpunit.xml:
cd Code git clone https://github.com/php-pds/skeleton converter cd converter composer require phpunit/phpunit --dev rm bin/* src/* docs/* tests/*
tests/autoload.php:
cd Code git clone https://github.com/php-pds/skeleton converter cd converter composer require phpunit/phpunit --dev rm bin/* src/* docs/* tests/*
composer.json(更新):(テンプレート値をプロジェクトの詳細に置き換えます)
<?php echo "Hello world";
runcomposer dump-autoload
最初のテスト(Tests/sitepoint/converter/convertertest.php):
<?xml version="1.0" encoding="UTF-8"?> <phpunit bootstrap="tests/autoload.php"> <testsuites> <testsuite name="converter"> <directory suffix="Test.php">tests</directory> </testsuite> </testsuites> </phpunit>
テストを実行する(php vendor/bin/phpunit
(最初に障害を予想してください)
コンバータークラス(SRC/SitePoint/converter/converter.php)を実装:
<?php require_once __DIR__ . '/../vendor/autoload.php';
再実行テスト
チュートリアルの詳細の残りの詳細は、よりクリーンなコードにデータプロバイダーを使用し、Xdebugを使用したコードカバレッジレポートのセットアップを追加するテストを追加します。 最後のセクションには、TDDとPHPunitのベストプラクティスをカバーするFAQが含まれます。 完全なコードはgithub(元のテキストで提供されるリンク)で利用できます。以上が再導入phpunit:PHPのTDDを始めますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。