- Symfony 教程
- Symfony - 主页
- Symfony - 简介
- Symfony - 安装
- Symfony - 架构
- Symfony - 组件
- Symfony - 服务容器
- Symfony - 事件和事件侦听器
- Symfony - 表达式
- Symfony - 捆绑包
- 创建简单的 Web 应用程序
- Symfony - 控制器
- Symfony - 路由
- Symfony - 视图引擎
- Symfony - Doctrine ORM
- Symfony - 表单
- Symfony - 验证
- Symfony - 文件上传
- Symfony - Ajax 控件
- Cookie 和会话管理
- Symfony - 国际化
- Symfony - 日志记录
- Symfony - 电子邮件管理
- Symfony - 单元测试
- Symfony - 高级概念
- Symfony - REST Edition
- Symfony - CMF Edition
- 完整的操作范例
- Symfony 实用资源
- Symfony - 快速指南
- Symfony - 实用资源
- Symfony - 讨论
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)
广告