Symfony-unit-testing
提供:Dev Guides
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)