📅  最后修改于: 2020-10-19 03:21:47             🧑  作者: Mango
单元测试对于大型项目的持续开发至关重要。单元测试将自动测试您的应用程序组件,并在出现问题时提醒您。单元测试可以手动完成,但通常是自动化的。
Symfony框架与PHPUnit单元测试框架集成。要为Symfony框架编写单元测试,我们需要设置PHPUnit。如果未安装PHPUnit,则下载并安装它。如果安装正确,则会看到以下响应。
phpunit
PHPUnit 5.1.3 by Sebastian Bergmann and contributors
单元测试是针对单个PHP类(也称为单元)的测试。
在AppBundle的Libs /目录中创建一个Student类。它位于“ src / AppBundle / Libs / Student.php”中。
namespace AppBundle\Libs;
class Student {
public function show($name) {
return $name. “ , Student name is tested!”;
}
}
现在,在“ tests / AppBundle / Libs”目录中创建一个StudentTest文件。
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]
Code Coverage Options:
--coverage-clover Generate code coverage report in Clover XML format.
--coverage-crap4j Generate code coverage report in Crap4J XML format.
--coverage-html Generate code coverage report in HTML format.
现在,按如下所示在Libs目录中运行测试。
$ phpunit tests/AppBundle/Libs
Time: 26 ms, Memory: 4.00Mb
OK (1 test, 1 assertion)