# 事件模拟
# 一、命令概述
在BPM系统开发过程中,我们经常需要测试由信号或消息触发的流程。本指南介绍如何使用命令行工具模拟信号和消息,以便快速测试流程功能。
# 1.1 信号模拟命令
signal [options] <signalName> <eventData>
# 1.2 消息模拟命令
message [options] <messageName> <eventData>
# 二、参数说明
| 参数 | 必填 | 说明 | 示例值 | 
|---|---|---|---|
| signalName | 是 | 要触发的信号名称 | 淘宝订单 | 
| messageName | 是 | 要发送的消息名称 | 订单取消 | 
| eventData | 否 | JSON格式的附加数据 | {"客户":"土豆","金额":138} | 
| -k | 否 | 业务唯一标识Key | PR2001050001 | 
# 三、使用示例
# 3.1 基础信号测试
# 触发简单信号
signal 淘宝订单
# 触发带业务数据的信号
signal 淘宝订单 {客户名称:'土豆',金额:138.00}
# 触发指定业务实例的信号
signal 淘宝订单 {客户名称:'土豆',金额:138.00} -k PR2001050001
# 3.2 基础消息测试
# 发送简单消息
message 订单取消
# 发送带业务数据的消息
message 订单取消 {原因:'客户主动取消'}
# 发送指定实例的消息
message 订单取消 {原因:'客户主动取消'} -k PR2001050001
# 四、测试场景示例
# 4.1 订单流程完整测试
# 1. 启动订单流程
signal 淘宝订单 {订单号:'OD123456'} -k OD123456
# 2. 模拟取消订单
message 订单取消 {操作人:'客服01'} -k OD123456
# 4.2 异常情况测试
# 测试无Key消息处理
message 订单取消 {测试场景:'无Key消息'}
# 测试错误数据格式
signal 淘宝订单 错误数据格式
# 五、注意事项
数据格式:
- JSON数据需使用英文引号
 - 复杂数据建议先格式化验证
 
Key规则:
- 需与流程中设置的Key策略一致
 - 推荐使用业务主键(如订单ID)
 
权限控制:
- 生产环境应限制控制台访问
 - 测试环境建议建立操作审计
 
# 六、帮助命令
# 查看信号命令帮助
signal -?
# 查看消息命令帮助
message -?
提示:在流程开发阶段,建议配合「流程追踪」功能实时观察信号/消息的处理状态。