一、前言
需求:需要一个测试框架,能来测试一个 IM 系统,同时适配当前业务逻辑。
测试那用 Jmeter 喽,Jmeter 也能测试 websocket,干嘛要自己开发一个测试框架啊?
最重要的一点:
TCP协议是自定义的,用Jmeter等框架,无法很好集成。PS:当然对Jmeter不够深入。
那么面向一个 IM 系统,其对应的测试框架,需满足:
- 具有连贯性,上下文:在保持连接情况下,执行一定业务逻辑处理,例如:发消息、加群、加好友等
- 易接入:开发对接代码简单
- 生成多种不同报告
- 可扩展
那么,那就试试呗。
二、v1 版本
初期思考,这种自动化测试,需要满足:
- 自动执行:启动之后所有测试用例都能执行,一个测试用例失败不能影响其他测试用例
- 可以输出定制的报告:控制台打印、生成文件
- 足够简单:容易集成业务,可以开发,并且运行速度快
思考过程
思考过程:
- 测试用例应该是一个对象
- 测试用例应该相互隔离
- 如何运行多个测试用例?
- 如何保存测试用例运行时出现的异常?
(1)测试用例应该是一个对象
运行:是一种能力,那么可以抽象为接口 interface:
public interface Test {

本文介绍了一位开发者为适应特定业务逻辑而设计的Java测试框架。该框架考虑了自定义协议的集成,确保测试用例的连贯性、易接入性、可扩展性,并使用设计模式如命令模式、模板方法和组合模式来实现自动化测试。通过实例展示了如何运行多个测试用例并捕获异常,同时提到了该框架与JUnit的相似之处。
最低0.47元/天 解锁文章





