本系列教程所有PHPUnit测试均基于PHPUnit6.5.9版本,Lumen5.5框架前置我们日常常用的测试:代码直接回显,debug等方法测试->跟踪详情断点式测试日志辅助测试->跟踪详情断点测试辅助工具,postman之类做请求测试->请求测试浏览器直接测试->浏览器测试单元测试单元测试是程序的最小单元,用于测试工作在正确性验证中,程序单元是应用程序的最小可测试组件。一个单元可以是单个程序、类、对象、方法等。单元测试用于测试一个包或程序的一部分代码或一组代码功能。测试的目的是确认目标代码在给定场景中是否按预期工作。一种场景是前向路径测试,这是一种确保代码在正常执行条件下不会产生错误的测试。此测试可用于确认代码可以成功地将工作记录插入数据库。其他单元测试可能会测试负路径场景,确保代码不仅产生错误,而且产生预期的错误。此场景中的测试可能是对数据库的查询未找到任何结果,或者对数据库进行了无效更新。在这两种情况下,测试都会验证错误确实发生了,并且产生了预期的错误。简而言之,无论代码如何被调用或执行,编写的代码的行为都是可预测的。优点或改进和解决问题可以减少错误。通过运行单元测试,可以直接测试每个功能的正确性。如果有bug,可以直接找到并解决。如果要等到Connect与其他函数进行连贯测试。测试繁琐,无法快速发现和解决bug。如果是web项目的某个功能,我们通常定位bug可能是页面输入值,后台断点,一步步来。如果需要写单元测试,可以直接修改数据运行单元测试,可以快速有限的提升代码质量。如果每个组件都是完美的,那么组合也必须是完美的。保证整体代码质量,减少调试时间。在不知道问题的情况下,可能需要进行各种调试和运行。如果所有的单元测试都写好了,那么直接运行单元测试就可以定位问题。PHPUnitPHPUnit是一个面向PHP程序员的测试框架,是一个xUnit架构的单元测试框架。版本主版本初始版本PHP兼容性支持后台框架对应版本PHPUnit8February1,2019PHP7.2,PHP7.3,PHP7.4EndedonFebruary5,2021SupportPHPUnit7February2,2018PHP7.1,PHP7.2,PHP7.3endedsupporton2020年2月7日PHPUnit62017年2月3日PHP7.0、PHP7.1、PHP7.2于2019年2月1日结束支持*PHPUnit52015年10月2日PHP5.6、PHP7.0、PHP7.1于2018年2月2日结束支持PHPUnit3月4日7,2014PHP5.3,PHP5.4,PHP5.5,PHP5.62017年2月3日结束支持你的第一个单元测试demo目录结构tests├──ExampleTest.php测试用例└──TestCase.phpLumen自带测试基类继承PHPunit代码assertTrue(true);}/***测试断言失败**@returnvoid*/publicfunctiontestFailure(){$this->assertTrue(false);}/***没有断言的测试,有风险。**@returnvoid*/publicfunctiontestRisky(){}}run../vendor/bin/phpunitExampleTest.php输出PHPUnit6.5.9bySebastianBergmannandcontributors..FR3/3(100%)时间:902毫秒,内存:10.00MB有1次失败:1)ExampleTest::testFailureFailed断言false为真。/web/www/wpt/gt-api/tests/ExampleTest.php:22--Therewas1riskytest:1)ExampleTest::testRiskyThistestdidnotperformanyassertionsFAILURES!Tests:3,Assertions:2,Failures:1,Risky:1.Explain3testmethods,2assertionsandoneassertionfailure,A测试:3,断言:2,失败:1,风险:1。测试方法没有断言输出标识描述。测试成功时输出F,测试方法运行过程中断言失败时输出。当测试方法执行过程中发生错误时输出E。当测试被标记为有风险时的R输出。跳过测试时输出S。I当测试标记为未完成或未实现时输出。参考PHPUnit6.5官方文档
