尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Symfony学习笔记 - Symfony Documentation - The Basics(2)

Symfony学习笔记 - Symfony Documentation - The Basics(2)
📅 发布时间:2026/6/17 20:15:55

3、Tests

Symfony集成了PHPUnit作为测试框架。可以包含unit test、integration test和application test。

  1. 按照惯例,test目录下,应该复制一份与你应用目录相同的目录。
  2. 为了避免环境污染,每次的测试可以通过bootKernel()的方式,reboot kernel。
  3. 可以通过getContainer()来获取到ServiceContainer。
  4. DAMADoctrineTestBundle可以每次交互时,用的是未被修改的database
  5. application test一般在Controller目录下,作为request/response的处理
  6. 可以模拟客户端,$crawler = $client->request('GET', '/post/hello-world');,来进行测试
  7. Client可以可以执行其他的操作,比如:
    $crawler = $client->followRedirect(); $client->followRedirects(); $client->followRedirects(false); $client->loginUser($testUser, 'my_firewall') //登录 $client->xmlHttpRequest('POST', '/submit', ['name' => 'Fabien']); //ajax请求 $client->catchExceptions(false); //异常处理 $client->request('GET', '/post/hello-world'); $client->clickLink('Click here'); //模拟点击链接 $client->request('GET', '/post/hello-world'); $crawler = $client->submitForm('Add comment', [ 'comment_form[content]' => '...', ]); //模拟提交Form ...
  8. 测试Response,验证输出符合预期。包括一系列的Assertion函数,比如:
    assertResponseIsSuccessful(string $message = '', bool $verbose = true) Asserts that the response was successful (HTTP status is 2xx). assertResponseStatusCodeSame(int $expectedCode, string $message = '', bool $verbose = true) Asserts a specific HTTP status code.
  9. 测试Request,验证输入符合预期。包括一系列的Assertion函数,比如
    assertRequestAttributeValueSame(string $name, string $expectedValue, string $message = '') Asserts the given request attribute is set to the expected value.
  10. 验证Browser,符合预期:
    assertBrowserHasCookie(string $name, string $path = '/', ?string $domain = null, string $message = '')/assertBrowserNotHasCookie(string $name, string $path = '/', ?string $domain = null, string $message = '')
  11. Crawler Assertions
    assertSelectorExists(string $selector, string $message = '')/assertSelectorNotExists(string $selector, string $message = '') Asserts that the given selector does (not) match at least one element in the response.
  12. Mailer Assertions
    assertEmailCount(int $count, ?string $transport = null, string $message = '') Asserts that the expected number of emails was sent.
  13. Notifier Assertions
    assertNotificationCount(int $count, ?string $transportName = null, string $message = '') Asserts that the given number of notifications has been created (in total or for the given transport).

相关新闻

  • 【分享+1】HarmonyOS官方模板优秀案例(第6期:商务办公 笔记应用)
  • TypeScript 队列实战:从零实现简单、循环、双端、优先队列,附完整测试代码
  • 半导体行业CRM就用八骏CRM

最新新闻

  • 2026 安徽哪所学校护理升学强?5大高升学率中职招生名单 - 小途xt
  • NXP DPAA硬件加速实战:报文头操作与CAAM加密引擎配置详解
  • 2026年论文写作AI工具怎么用?豆包等工具详细使用教程 - 掌桥科研-AI论文写作
  • 2026滁州家长注意!离南京这么近,孩子学建筑去这所公办中职,比在南京打工强 - 我叫小周
  • 50行Python实现人脸检测:OpenCV+Haar级联原理与实战
  • 2026重庆高端珠宝首饰回收排行 权威鉴定实测靠谱商家榜单 - 名奢变现站

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号