php的测试代码,怎么测试php代码-程序员宅基地

技术标签: php的测试代码  

没有任何一名程序员可以一气呵成、完美无缺的在不用调试的情况下完成一个功能或模块。调试实际分很多种情况。

b8b5621f44d8d19ab2745f48508d7221.png

暴力调试

这种方式简单粗暴,一般PHP程序员都会用,那就是浏览器调试,在编辑器内写完代码后随后打开万能的浏览器输入地址开始调试代码。

断点调试(推荐学习:PHP编程从入门到精通)

说实在的,这种方式如果仅仅是看看输出结果,完全没必要,看似高大上实际浪费时间经历,一般我都会在代码块写好之后跑一遍debug,检查一下流程和结果是否在我的预期内或者遇到了某些逻辑问题无法察觉,还是选择断点调试比较靠谱,省时省力。最厉害的程序员也有懵逼的一刻不是吗?

命令调试

如果你在官网或者github上下载了一段代码片段,急于调试但还不愿意将代码片段放入项目中或者新开辟一个目录,完全可以使用php命令去执行这个代码块php -f filename.php

如果代码片段较短,你可以使用php -r "code ..."

执行运行PHP代码

片段调试

当你突然想起一个方法或者算法急于去验证它,但又不愿意打开编辑器或者执行php自带的命令行的话。你可以选择使用psysh工具去执行验证你的想法,这个工具安装十分简单Psy Shell v0.8.17 (PHP 7.1.14 — cli) by Justin Hileman

New version is available (current: v0.8.17, latest: v0.9.6)

>>> date('Y-m-d H:i:s',time())

=> "2018-08-09 14:18:10"

>>>

下载地址 : https://psysh.org/

测试调试

这是一个严肃的调试方法,很多程序员都认为功能模块、组件开发完就结束的任务,随后交给测试人员去测试就好了。其实并不然,有些隐藏的bug或者致命错误、逻辑错误、系统错误(例如开启了无用的线程,未使用的变量、方法、类等等)是无法被测试出来的。实际作为一名程序员,开发功能的流程是这样的。

理解需求 -> 分解需求 -> 整理逻辑 -> 设计代码 -> 敲代码 -> 调试 -> 测试

如果最后一步你从来没有做过,那你只能是半个程序员。 测试我推荐使用PHPunit,更好的去理解自己的代码,才是一个合格的程序员。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_29056701/article/details/115197455

智能推荐

【编程题】字符串压缩算法和常用的substr与replace函数_小q想要给他的朋友发送一个神秘字符串,但是他发现字符串的过于长了,于是小q发明了-程序员宅基地

文章浏览阅读414次。题目描述:小Q想要给他的朋友发送一个神秘字符串,但是他发现字符串的过于长了,于是小Q发明了一种压缩算法对字符串中重复的部分进行了压缩,对于字符串中连续的m个相同字符串S将会压缩为[m|S](m为一个整数且1<=m<=100),例如字符串ABCABCABC将会被压缩为[3|ABC],现在小Q的同学收到了小Q发送过来的字符串,你能帮助他进行解压缩么?#include <..._小q想要给他的朋友发送一个神秘字符串,但是他发现字符串的过于长了,于是小q发明了

前端学习笔记(三) - 文本及列表标签、css基本长度颜色单位及文本和字体样式-程序员宅基地

文章浏览阅读444次。前端基础(三)文本标签:标签作用(语义)<em></em>表示一段内容中的着重点,常为语气上的强调,显示为斜体<strong>表示内容的强调,显示为粗体<i></i>没有语义上的强调,显示斜体<b></b>没有语义的强调,显示粗体<samll>...

教学生用计算机画画,六年级美术教材《用计算机画画》-程序员宅基地

文章浏览阅读209次。六年级美术教材《用计算机画画》实例一:六年级美术教材《用计算机画画》在新课标精神的指引和带领下,用计算机画画各学科的教材都为适应教学改革相应的进行着变更,就拿小学美术课来说,用计算机画画多少年的教材都是提倡用手中的画笔描绘、丰富的色彩填充以展现美丽多彩的世界。用计算机画画面对那一幅幅充满想象力、展现力的作品,几乎所有人都认为,画画必须要有“笔”。可是,新教材六年级美术11册用计算机画画中却有两课打..._老师教我们用计算机画画

html 什么标签不换行,css不换行代码是什么?-程序员宅基地

文章浏览阅读3k次。通过css可以使对应div标签内的文字换行或不换行设置操作,那么该如何设置不换行呢?下面我们来看一下css中不换行的代码是什么?css中强制不换行代码是white-space:nowrap;。white-space属性声明建立布局过程中如何处理元素中的空白符。示例:div{width: 200px;height: 100px;border: 1px solid red;white-space: n..._不换行的标签

linux secure boot(安全启动)下为内核模块签名-程序员宅基地

文章浏览阅读5.7k次,点赞7次,收藏24次。从 UEFI 到 OS,再从 OS 到 driver,这是一条信任链,只有被已经在 UEFI 里注册过的 key 签名的驱动,才是可信的。除了 UEFI 出厂时由 vendor 设置的 key,我们还可以在后续的使用过程中自行添加(称为 “enroll”),其依据的原理大致是:既然都能够操作 UEFI 了,那该用户添加的 key 应该是可被信赖的。_linux secure boot

C++模拟三体运动_c++ 操纵三维对象-程序员宅基地

文章浏览阅读1.9k次,点赞2次,收藏15次。C++模拟三体运动受力计算对于三个物体 b1b_1b1​, b2b_2b2​, b3b_3b3​, 其质量为 m1m_1m1​, m2m_2m2​, m3m_3m3​, ttt时坐标为 p1⃗\vec{p_1}p1​​, p2⃗\vec{p_2}p2​​, p3⃗\vec{p_3}p3​​, 加在b1b_1b1​上的力为 F⃗=Gm1m2∣p1⃗−p2⃗∣2⋅(p2⃗−p1⃗)^+Gm1m3∣p1⃗−p3⃗∣2⋅(p3⃗−p1⃗)^\vec{F} = \frac{G m_1 m_2}{|\vec{p__c++ 操纵三维对象

随便推点

TwinCAT设置项目开机自动启动_twincat2设置开机自动运行程序-程序员宅基地

文章浏览阅读7.8k次,点赞2次,收藏10次。https://blog.csdn.net/little_snail_bing/article/details/86628856开机自动运行可以这样设置:1、右键TEST,勾选上 Autostart Boot Project2、单击SYSTEM,勾选上Run Mode,再勾选上Auto Logan,在下面的框里填入电脑的用户名和登陆密码,点击Apply,激活配置;再次开机就会自动启动..._twincat2设置开机自动运行程序

java使用file.createNewFile()创建文件时,报错目录不存在,如何解决_file.createnewfile() 报错-程序员宅基地

文章浏览阅读1.2w次,点赞15次,收藏25次。普通创建文件代码:String strPath = "E:\\test\\test1\\test.txt";File file = new File(strPath);if(!file.exists())){ file.createNewFile();}上述这段代码,当E:\test\test1目录不存在时,createNewFile()执行会报错:java.io.IOException:Parent directory of file does not existString st_file.createnewfile() 报错

2-3计算分段函数_计算分段函数(判断x是否不为0)-程序员宅基地

文章浏览阅读4.1k次,点赞5次,收藏13次。例2-4:为鼓励居民节约用水,自来水公司采取用水量按月分段计费的办法,居民应交水费y元与月用水量x吨的函数关系式如下设x≥0.输入用户的月用水量x吨,计算并输出改用户应支付的水费y(元)(保留两位小数)。y=f(x)=4x/3; x≤15y=f(x)=2.5x-10.5 x>15做这个题的时候应该注意留意题目最后的保留两位小数,并结合实际,应该不适用整型常量。#inc..._计算分段函数(判断x是否不为0)

笔记:json对象和字符串的相互转换_matlab jsonencode 转字符串-程序员宅基地

文章浏览阅读139次。原文链接:https://www.cnblogs.com/yjd_hycf_space/p/7928384.html//使用json中的parser方法转换;var str='{"name":"fendouer", "age":23}'; //这是一个json字符串''var ob=JSON.parse(str) ; //返回一个新对象console.log..._matlab jsonencode 转字符串

python-操作excel,使用xlrd、xlutils、xlwt读写excel、设置样式_使用xlrd,xlrd,xlutils模块对.xls格式的excel表进行读写操作-程序员宅基地

文章浏览阅读1.7k次,点赞6次,收藏21次。记录一下使用python+xlrd+xlutils+xlwt读写excel、并设置样式,以及一些常见的问题_使用xlrd,xlrd,xlutils模块对.xls格式的excel表进行读写操作

C++:Assignment to cast is illegal, lvalue casts are not supported-程序员宅基地

文章浏览阅读2.4k次。目录引言Example1Example2引言超级久没有写博客了,这次准备记录一个遇到的C++小错误,顺便水一篇…这个错误是:Assignment to cast is illegal, lvalue casts are not supported。该解释没有详细查证,如有错误,欢迎指正。直接放到百度翻译,结果是:对强制转换的赋值非法,不支持左值强制转换 。下面我将以两个例子为大家讲解这个报错原因。Example1#include <bits/stdc++.h>using na