CabloyJS采用测试驱动开发的模式开发NodeJS工作流引擎。每开发一个新特性,对应都增加一个单元测试用例,从而保证工作流引擎的代码质量。此外,初学者也可以通过这套单元测试集来更快的熟悉工作流引擎的设计思路和使用方法

说明

1. 测试模块test-flow

所有单元测试都集中在测试模块test-flow中。建议您关注并保持test-flow模块的更新,以便及时获取最新的样例代码。直接通过命令行安装模块test-flow

  1. 1$ npm run cli :store:sync test-flow
  • 关于模块test-flow的更详细说明,参见:test-flow

2. 单元测试用例

所有单元测试用例集中在目录src/module-vendor/test-flow/backend/test/controller/

3. 流程定义

所有单元测试用例用到的流程定义,均采用静态原子的方式定义,集中在目录src/module-vendor/test-flow/backend/src/config/static/flowDef/

4. 持续迭代

CabloyJS的目标是实现与Activiti对等的工作流特性集。因此,会依据实际业务开发的需要,按优先级持续增加新的组件和特性,同时也会持续增加相应的单元测试用例。请持续保持关注,也欢迎提需求、提PR,共创CabloyJS的工作流引擎

set00: 基础特性

名称 说明
set00_simple 最简流程定义,只包含一个开始事件节点和一个结束事件节点
set00_edgeSequence 顺序流,通过指定迁移线条件表达式实现节点的条件迁移
set00_activityNone 空节点,演示如何开发一个活动节点组件
set00_activityService 服务节点,在该节点自动执行一个服务方法
set00_startEventTimer 定时开始事件节点,演示定时触发,自动启动工作流实例

set01: 审批工作流

CabloyJS在通用工作流引擎设计的基础上,与原子数据相结合,开发了一组活动节点组件,从而可以便利的开发审批工作流

名称 说明
set01_startEventAtom 原子开始事件,用于实现起草功能
set01_atomUserTask 用户任务节点,演示如何实现审阅功能
set01_atomAssigneesConfirmation 参与人确认,演示当有多个参与人时,由前一个节点进行确认