thinkphp5.0 是 tp 发展路线第一个支持 compor 的。tp 有自己的载入机制,compor 也有自己的载入机制。
官方提供了 think-testing 组件可以通过 compor require topthink/think-testing 1.* 安装,但我对这个测试组件不是很满意,原因是它每个测试都是模拟成 http 请求。这也就陶醉意味着对于一些特定函数,还得封装到控制器中或者路由,该控制器还得控制它生产环境不能对外开放。thinkphp5.0 是 tp 发展路线第一个支持 compor 的。tp 有自己的载入机制,compor 也有自己的载入机制。
phpunit是一个用php编程语言开发的开源软件,是一个单元测试框架。phpunit由bastian bergmann创建,源于kent beck的sunit,是xunit家族的框架之一。
单元测试是对单独的代码对象进行测试的过程,比如对函数、类、方法进行测试。单元测试可以使用任意一段已经写好的测试代码,也可以使用一些已经存在的测试框架,比如junit、phpun悉数的近义词it或者cantata++,单元测试框架提供了一系列共同、有用的功能来帮助人们编写自动化以2022年冬奥会为主题的作文的检测单元,例如检查一个实际的值是否符合我们期望的值的断言。单元测试框架经常会包含每个测试的报告,以及给出你已经覆盖到的代码覆盖率。
总之一句话,使用phpunit进行自动测试,会使你的代码更健壮,减少后期维护的成本,也是一种比较标准的规范,现如今流行的php框架都带了单元测试,如laraval,symfony,yii2等,单元测试已经成了标配。
另外,单元测试用例是通过命令操控测试脚本的,而不是通过浏览器访问url的。
项目内安装phpunit
使用compor方式安装 phpunit 项目根目录下执行下面这段代码
compor require phpunit/phpunit
自动下载适配版本 我下载的时4.8.36
将 f:\wamp\wamp\www\tp5\vendor\bin添加加到 path 环境变量中(这样phpunit全局生效)
phpunit简单用法
1、单个文件测试
根目录下创建目录tests
新建文件firsttest.php,编辑如下:
<?ph家长会班主任发言稿p/** * 1、引入autoload.php文件 * 2、测试案例 * * */namespace app\tests;require_once __dir__ . '/../vendor/autoload.php'; u phpunit\framework\testca; class firsttest extends testca{ public function testture() { $stack = []; $this->asrtequals(0, count($stack)); }}
代码解释:
firsttest为测试类firsttest继承于phpunit\framework\testca测试方法testture(),测试方法必须为public权限,一般以test开头,或者你也可以选择给其加注释@test来表在测试方法内,类似于asrtequals()这样的断言方法用来对实际值与预期值的匹配做出来以此判断方法是否正确
命令行执行:
tests目录下 执行>phpunit firsttest 命令 测试文件命名
测试项目内方法
tp5项目下的控制器在 f:\wamp\wamp\www\tp5\application\index\controller 文件夹下 写一个简单的方法
在tests内写一个indextest.php
<?php namespace app\tests;require_once __dir__ . '/../vendor/autoload.php'; u phpunit\framework\testca;u app\index\controller\index; class indextest extends testca{ public function testsum() { $obj = new index; $this->asrtequals(6, $obj->index(2,3)); } }
执行后的结果 成功!
如果我在index.php,和indextest.php都故意写错
返回结果 会有错误位置
其他用法
其他哈工大分数线用法请参考官网:phpunit中国官网
本文发布于:2023-04-08 16:57:34,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/c0e47ce0c9eb29582c50dd2926675636.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:ThinkPHP5与单元测试PHPUnit使用详解.doc
本文 PDF 下载地址:ThinkPHP5与单元测试PHPUnit使用详解.pdf
留言与评论(共有 0 条评论) |