关于

test-flow是CabloyJS框架的核心测试模块,包含以下内容:

  1. 真实场景下,如何开发一个主表+明细表的业务表单
  2. 真实场景下,如何为业务表单添加一个审批工作流
  3. 包含NodeJS工作流引擎的所有测试用例

默认配置下,本模块仅在测试环境本地开发环境运行,在生产环境禁用,从而不污染实际的生产数据

如何安装

  • 直接在项目中执行
  1. 1$ npm run cli :store:sync test-flow

模块内容不完全清单

test-flow模块包含大量内容,这里仅展示部分清单:

1. 主表+明细表

主表+明细表

2. 审批工作流

审批工作流

3. 按条件启动工作流

可以针对表单字段的不同值启动不同的工作流实例

按条件启动工作流

4. 工作流引擎的测试用例

src/module-vendor/test-flow/backend/src/config/static/flowDef

  • 第一组
名称 说明
set00_simple 第一个最简工作流定义,仅包含空开始事件空结束事件
set00_activityNone.js 空活动节点
set00_activityService.js 服务活动节点
set00_edgeSequence 通过条件表达式迁移至不同的
set00_startEventTimer 定时开始事件:通过定时器启动工作流实例
  • 第二组
名称 说明
set01_startEventAtom 数据起草开始事件:将工作流定义与原子类型绑定,当草稿提交时启动工作流实例;支持按条件表达式启动不同的工作流实例
set01_atomUserTask 用户任务活动节点:实现审批环节
set01_atomAssigneesConfirmation 用户任务活动节点:演示审批环节参与人的选择机制
  • 第三组
名称 说明
set02_behaviorOvertime 演示如何通过行为来实现超时驳回的特性

重磅特性:Activiti工作流引擎是通过边界事件来实现超时驳回的,而CabloyJS的工作流引擎通过行为来实现超时驳回行为边界事件更直观、更简洁,也更容易使用