杂谈单元测试 四月 12, 2025 发布在 软件工程, 单元测试 | 大约2504字 | 预计5分钟读完 | 单元测试 软件测试 自动化 编程范式 原子 AI 生成 单元测试概念 单元测试的价值与必要性 原子正确性与单元测试 哪些代码需要单元测试 单元测试面临的困难 遗留代码及其优化解决方式 单元测试误区 单元测试遵循的原则 覆盖率 单元测试一些基础指南 杂谈单元测试的价值、困境、误区、原则、指南与原子正确性。 阅读全文
phpunit与项目框架衔接指南 四月 5, 2025 发布在 软件工程, 单元测试 | 大约1691字 | 预计4分钟读完 | php phpunit 单元测试 软件工程 lumen YII AI 生成 lumen 框架 BaseTestCase phpunit.xml 单测引导文件 YII 框架 BaseTestCase phpunit.xml 单测引导文件 单测范例 phpunit 对 php 版本的要求 常见问题 找不到业务类 参考 阅读全文
phpunit.xml配置说明 四月 3, 2025 发布在 软件工程, 单元测试 | 大约2490字 | 预计5分钟读完 | phpunit php xml 单元测试 软件工程 AI 生成 PHPUnit 5.x 的 XML 配置 PHPUnit 6.x 的 XML 配置 配置说明 通用配置选项 版本特定的配置选项 IDE 识别单元测试方法 阅读全文
Mockery模拟框架指南 三月 31, 2025 发布在 软件工程, 单元测试 | 大约799字 | 预计2分钟读完 | Mockery Mock 单元测试 软件测试 phpunit AI 生成 Mockery 的常用方式 1. 安装 Mockery 2. 创建 Mock 对象 3. 设置方法期望 4. 参数匹配 5. 验证方法调用顺序 Mockery 方法示例 示例 1:Mock 方法返回值 示例 2:Mock 方法抛出异常 示例 3:验证方法调用次数 示例 4:使用 Spy 验证方法调用 Mockery 与 PHPUnit 结合使用 总结 阅读全文
phpunit测试套件指南 三月 31, 2025 发布在 软件工程, 单元测试 | 大约891字 | 预计2分钟读完 | php 单元测试 软件测试 PHPUnit 测试套件 AI 生成 1. 按功能模块归类 2. 按测试类型归类 3. 按优先级归类 4. 按环境归类 5. 按测试状态归类 6. 按测试文件名归类 7. 按测试文件路径归类 总结 阅读全文
phpunit指令与参数参考 三月 30, 2025 发布在 软件工程, 单元测试 | 大约1204字 | 预计3分钟读完 | phpunit 单元测试 软件测试 命令行 自动化 AI 生成 1. 基本执行指令 运行所有测试 指定测试文件或目录 2. 测试过滤 按测试类或方法过滤 按注解过滤 3. 测试覆盖率报告 生成代码覆盖率报告 排除文件或目录 4. 测试配置 使用配置文件 设置测试套件 5. 性能和调试 重复运行测试 显示测试执行时间 显示详细输出 6. 测试数据 使用数据提供者 7. 其他常用参数 生成日志文件 设置测试环境变量 排除测试 8. 示例:完整的命令行指令 9. 常见快捷键 阅读全文
phpunit基础使用指南 三月 29, 2025 发布在 软件工程, 单元测试 | 大约4007字 | 预计8分钟读完 | php 单元测试 PHPUnit Mock 基准测试 AI 生成 PHPUnit 单测基本使用 1. Mock 的创建方式 1.1 使用createMock方法 1.2 使用getMockBuilder方法 1.3 使用getMockForAbstractClass方法 2. Mock 的set方法及相关配置 2.1 设置方法的预期调用次数 2.2 设置方法的返回值 2.3 设置方法的参数匹配 3. 常用设置模拟属性或方法的方式 3.1 模拟方法的返回值 3.2 模拟方法抛出异常 3.3 模拟方法返回调用参数 Mock 对象的所有方法及返回 null 使用setMethods(null)和willReturn(null) 关键点说明 注意事项 Mock 静态类与静态方法 模拟静态类和静态方法 1. 使用mock方法模拟静态类 2. 使用shouldReceive方法模拟静态方法 3. 模拟静态方法抛出异常 注意事项 phpunit 断言异常不同版本 setExpectedException 方法 使用方式: getExpectedException 方法 使用方式: 替代方法 PHPBench 基准测试 1. PHPBench 2. PHPUnit 与 PHPBench 的集成 3. 使用 PHPUnit 的--repeat选项 4. 其他基准测试工具 示例:使用 PHPBench 进行基准测试 阅读全文
静态类和方法的利弊及什么时候使用 三月 22, 2025 发布在 编码规范 | 大约3280字 | 预计7分钟读完 | 编码规范 面向对象 静态方法 单元测试 设计模式 AI 生成 前言 静态类和方法的有哪些利弊 1. 违背面向对象设计原则 2. 代码可维护性和可扩展性问题 3. 单元测试困难 4. 性能和资源问题 5. 设计上的局限性 为什么不能完全使用静态类的静态方法 总结 什么时候使用静态类和方法 1. 工具类(Utility Classes) 2. 配置类(Configuration Classes) 3. 单例模式(Singleton Pattern) 4. 工厂模式(Factory Pattern) 5. 常量类 6. 简单的逻辑操作 总结 阅读全文
AI时代如何维护遗留代码 二月 19, 2025 发布在 互联网, 软件工程 | 大约1871字 | 预计4分钟读完 | 单元测试 AI 生成 哪些是遗留代码 解决遗留代码的方式 单元测试常见的误区 选择性单元测试 遗留代码单元测试的成本收益象限分类 分类标准 四个象限二维表 圈复杂度与依赖的概念理解 不同类型代码的处理策略 建议 阅读全文
AI时代再次深刻单元测试 二月 19, 2025 发布在 互联网, 软件工程 | 大约1675字 | 预计4分钟读完 | 单元测试 AI 生成 目的 单元测试的单元怎么定义 单元测试的价值 遵循的原则 如何编写单元测试? 拆分详细的测试用例 制定统一的单元测试规范 AI 辅助编写单元测试 阅读全文
原子正确性与单测 二月 13, 2025 发布在 软件工程 | 大约2802字 | 预计6分钟读完 | 单元测试 软件测试 原子 1、提高开发体验的核心:更短的反馈链路 2、缩短开发时间的核心:“原子正确性” 3、AI 下单测的意义:分治 4、为什么依然不写单测:单测的冷启动 5、实践分享:拿来即用的干货 5.1 怎么写单测可以获得最短反馈路径 5.2 TypeScript 中推荐的测试框架:Vitest 6、总结:双赢的策略 阅读全文