# 事件模拟

# 一、命令概述

在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 淘宝订单 错误数据格式

# 五、注意事项

  1. 数据格式

    • JSON数据需使用英文引号
    • 复杂数据建议先格式化验证
  2. Key规则

    • 需与流程中设置的Key策略一致
    • 推荐使用业务主键(如订单ID)
  3. 权限控制

    • 生产环境应限制控制台访问
    • 测试环境建议建立操作审计

# 六、帮助命令

# 查看信号命令帮助
signal -?

# 查看消息命令帮助
message -?

提示:在流程开发阶段,建议配合「流程追踪」功能实时观察信号/消息的处理状态。