tp5 phpunit 踩坑专辑

在tp5下使用默认的phpunit 的包的时候,遇到如下几个坑。

(我web环境在虚拟机里,本地mac和虚拟机共享同一个目录,源码在这个目录里,php都是 php7.1 )

1-在虚拟机里面执行 php unit 可以正常运行,在mac下运行报500错误,解决方法暂无。

2-当多个测试文件在一个目录下的时候,执行php think unit的时候,会出现前面的变量覆盖了后面的变量,经过好久调试没测试出结果(水平太差了😢)。后来使用 php think unit --filter 文件名 ,可以一次只执行一个,就没有问题。或者使用@group 标签

分组来实现,在执行的时候 加上 --group 分组名,就可以了。

3-当进行断言测试的时候,tp的phpunit包封装了一些类。

\tink\testing\PHPUnit_Framework_Assert 该类封装类常用的断言。

\think\testing\InteractsWithPagesg该类封装了常用的请求

\think\testing\AssertionsTrait封装了http请求响应的断言

\think\testing\CrawlerTrait 是http请求和断言的底层

通过 TestCast->maskRequest,返回一个当前对象,该对象的Response属性保存着一个think\response\Json的对象。

通过Json对象可以取到我们发起请求的响应信息。


https://phpunit.de/manual/current/zh_cn/appendixes.annotations.html#appendixes.annotations.group

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Composer Repositories Composer源 Firegento - Magento模块Comp...
    零一间阅读 3,967评论 1 66
  • ziadoz在 Github发起维护的一个PHP资源列表,内容包括:库、框架、模板、安全、代码分析、日志、第三方库...
    Gundy_阅读 6,341评论 4 192
  • Time goes on and on, never to an end but crossings. 时间一直走...
    木头毛阅读 373评论 1 0
  • 最近是健身季节,三分练七分吃,关于吃,我正探索如何计算卡路里的简易方法。大致是三方面内容。第一,建立一个常用...
    战神蓝小枝阅读 217评论 0 0
  • 上周项目里加了实时视频功能,在这里把踩得坑和大家分享一下,这里不是对环信配置和基础用的说明,那些文章一搜一堆. 1...
    斯文9阅读 1,804评论 1 4