Download the PHP package tourze/phpunit-workerman without Composer
On this page you can find all versions of the php package tourze/phpunit-workerman. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Please rate this library. Is it a good library?
Informations about the package phpunit-workerman
Workerman PHPUnit Testing Framework
中文
专为 Workerman 应用设计的 PHPUnit 测试框架,解决异步、事件驱动应用的测试难题。
目录
- 核心特性
- 安装
- 快速开始
- 核心 API
- 最佳实践
核心特性
主要功能
- 事件循环模拟 - 提供完全可控的事件循环和时间控制
- 异步操作测试 - 支持定时器、延迟操作和回调测试
- 连接模拟 - 完整的 TCP 连接生命周期模拟
- Worker 管理 - 创建、启动和管理 Worker 实例
- 专用断言 - 针对 Workerman 特性的断言方法
解决的问题
- 异步操作测试
- 事件循环时间控制
- 网络连接模拟
- 多进程 Worker 测试
- 定时器功能验证
安装
系统要求
- PHP 8.1 或更高版本
- ext-sockets 扩展
依赖项
- workerman/workerman ^5.1
- phpunit/phpunit ^10.0 (开发依赖)
安装命令
快速开始
基础 Worker 测试
定时器测试
连接测试
核心 API
测试基类
WorkermanTestCase
用于一般的 Workerman 应用测试,提供 Worker 管理和连接模拟。
AsyncTestCase
专门用于异步操作测试
模拟组件
MockEventLoop
模拟事件循环
Trait 组件
TimeControl
时间控制相关功能
AsyncAssertions
异步操作断言
ConnectionMocking
连接模拟功能
高级用法
复杂异步流程测试
协议测试
高并发连接测试
错误处理测试
最佳实践
1. 测试初始化
正确设置和清理测试环境
2. 异步操作超时
为异步操作设置合理的超时时间
3. 时间控制
使用时间快进而不是真实等待
4. 连接清理
及时清理连接和资源
常见问题
调试相关
Q: 定时器测试失败怎么办?
A: 使用 fastForward() 方法而不是真实等待
Q: 连接状态异常?
A: 确保使用 mockConnectionClose() 等方法正确管理连接生命周期
Q: 测试运行超时? A: 检查异步操作是否正确完成,确保没有无限循环
Q: 测试环境初始化失败?
A: 确保测试类正确继承并调用 parent::setUp() 和 parent::tearDown()
性能优化
如果测试较慢,可以尝试:
贡献指南
欢迎提交 Issue 和 Pull Request 来改进这个测试框架。
开发环境
代码规范
遵循 PSR-12 编码标准
许可证
MIT 许可证
相关资源
这个测试框架让您能够轻松测试 Workerman 应用中的异步操作、事件处理和网络通信功能。
All versions of phpunit-workerman with dependencies
PHP Build Version
Package Version
Requires
ext-sockets Version
*
symfony/dependency-injection Version ^7.3
symfony/framework-bundle Version ^7.3
symfony/yaml Version ^7.3
workerman/workerman Version ^5.1
symfony/dependency-injection Version ^7.3
symfony/framework-bundle Version ^7.3
symfony/yaml Version ^7.3
workerman/workerman Version ^5.1
The package tourze/phpunit-workerman contains the following files
Loading the files please wait ...