phpstorm配置phpunit进行单元测试
1、配置单元测试目录:
(1)autoload.php
<?php function autoloader($dir){ spl_autoload_register(function($name) use ($dir){ $name = str_replace('\\',DIRECTORY_SEPARATOR,$name); require $dir.DIRECTORY_SEPARATOR.$name.'.php'; }); } define('ROOT',__DIR__); autoloader(ROOT);
(2)Money.php
<?php class Money { private $amount; public function __construct($amount) { $this->amount = $amount; } public function getAmount() { return $this->amount; } public function negate() { return new Money(-1*$this->amount); } }
(3)MoneyTest.php
<?php use PHPUnit\Framework\TestCase; class MoneyTest extends TestCase { public function testCanBeNegated() { $a = new Money(1); $b = $a->negate(); $this->assertEquals(-1, $b->getAmount()); } }
2、配置测试框架
3、建立单元测试模板:
4、运行测试:
5、测试结果
6、phpunit中相关的几个断言:
AssertTrue/AssertFalse 断言是否为真值还是假 AssertEquals 判断输出是否和预期的相等 AssertGreaterThan 断言结果是否大于某个值,同样的也有LessThan(小于),GreaterThanOrEqual(大于等于), LessThanOrEqual (小于等于). AssertContains 判断输入是否包含指定的值 AssertType 判断是否属于指定类型 AssertNull 判断是否为空值 AssertFileExists 判断文件是否存在 AssertRegExp 根据正则表达式判断
7、注意事项
(1)测试用例要引入phpunit
use PHPUnit\Framework\TestCase;
(2)测试类要继承TestCase
class MoneyTest extends TestCase
参考:https://blog.51cto.com/12173069/2317104
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏