如题 ~~PHP测试很有必要,大家都是如何做的呢?
怎么规范自己的测试及其测试应注意什么?
回复内容:
如题 ~~PHP测试很有必要,大家都是如何做的呢?
怎么规范自己的测试及其测试应注意什么?
主要还是看框架是如何指导测试的。
codeigniter 用自己的写的类库进行简单的断言测试,测试结果直接输出到页面或者保存到文件。比较原始手工化。
Yii framework 用PHPUnit作为测试类库,另外还用了Selenium来模拟正式操作场景测试具体浏览器下面的操作结果。(Selenium的使用是比较虐心的一件事,相当于用代码模拟用户在浏览器上的每个操作后断言预期的结果)
Laravel 同样是采用PHPUnit作为测试类库,以测试后面业务逻辑为主,但是在针对前端的测试上主要是针对生成的Html页面的内容来进行一些简单的断言。
我知道测试类库除了PHPUnit之外还有SimpleTest,不过没有使用与了解过。
代码测试覆盖率达到80%左右应该也就差不多了,没有追求100%的必要。毕竟,需求是动态的。
单元测试能做,首先依赖于编写的代码,写的随意的代码,是很难做单测的,所以,第一项工作就是要编写可以测试的代码,所以开发的时候就要考虑怎么测试,如果能遵循测试驱动开发,敲码前先写单测,那更好;
第二项工作,就是单测的编写了。往往打桩是比较麻烦的,但是越大的系统,依赖的外部组件和系统越多,不打桩根本无法测试。目前phpunit有支持打桩。
第三,如果是旧项目,代码写的随意,缺少封装,过程式的,甚至是面包屑代码,如何测试?我能想到的,要么重构代码,要么就得做大量的打桩工作;即使如此,也不能保证真的就能对这些代码进行单测。
以前我用thinkphp写程序,然后想做一下单元测试,然后就没有然后了。
一般基本的流程走一遍,测试下。一般的框架都有调试模式,开启了多调试调试~
在工作不忙的时候,是单元测试和restTest一起做的。忙的时候就做restTest就行了。
但愿测试就不细说了。
restTest就是用php写一个和项目中联系紧密的rest客户端,然后用php自带的httpServer做服务器启动项目(注意选择测试库),然后用unittest跑脚本一个个的访问rest接口。判断错误等等。
单元测试,PHPUnit
做一个hook 然后手写测试代码然后看结果
很少去做测试,一般情况都是编译下,没有问题就可以了。

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

Dreamweaver CS6
Visual web development tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

WebStorm Mac version
Useful JavaScript development tools

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.