Symfony-ユニットテスト
ユニットテストは、大規模なプロジェクトで進行中の開発に不可欠です。単体テストは、アプリケーションのコンポーネントを自動的にテストし、何かが機能していないときに警告します。ユニットテストは手動で実行できますが、多くの場合自動化されています。
PHPUnit
SymfonyフレームワークはPHPUnitユニットテストフレームワークと統合されています。Symfonyフレームワークの単体テストを作成するには、PHPUnitを設定する必要があります。PHPUnitがインストールされていない場合は、ダウンロードしてインストールします。正しくインストールされている場合は、次の応答が表示されます。
phpunit
PHPUnit 5.1.3 by Sebastian Bergmann and contributors
単体テスト
ユニットテストは、ユニットとも呼ばれる単一のPHPクラスに対するテストです。
AppBundleのLibs /ディレクトリにクラスStudentを作成します。それはにあります“src/AppBundle/Libs/Student.php”。
Student.php
namespace AppBundle\Libs;
class Student {
public function show($name) {
return $name. “ , Student name is tested!”;
}
}
次に、「tests / AppBundle / Libs」ディレクトリにStudentTestファイルを作成します。
StudentTest.php
namespace Tests\AppBundle\Libs;
use AppBundle\Libs\Student;
class StudentTest extends \PHPUnit_Framework_TestCase {
public function testShow() {
$stud = new Student();
$assign = $stud->show(‘stud1’);
$check = “stud1 , Student name is tested!”;
$this->assertEquals($check, $assign);
}
}
テストを実行する
ディレクトリでテストを実行するには、次のコマンドを使用します。
$ phpunit
上記のコマンドを実行すると、次の応答が表示されます。
PHPUnit 5.1.3 by Sebastian Bergmann and contributors.
Usage: phpunit [options] UnitTest [UnitTest.php]
phpunit [options] <directory>
Code Coverage Options:
--coverage-clover <file> Generate code coverage report in Clover XML format.
--coverage-crap4j <file> Generate code coverage report in Crap4J XML format.
--coverage-html <dir> Generate code coverage report in HTML format.
次に、Libsディレクトリで次のようにテストを実行します。
$ phpunit tests/AppBundle/Libs
結果
Time: 26 ms, Memory: 4.00Mb
OK (1 test, 1 assertion)