@camunda/ 任务测试
验证您的 BPMN 图表的单个构件, 用连接的集群执行 .
使用量
import TaskTesting from '@camunda/task-testing';
function App() {
...
<TaskTesting
{ ...props }
>
<TaskTesting.Tab label="My dynamic tab" render={ ({ output }) => <div>...</div> } />
<TaskTesting.Tab label="My static tab">My static content</TaskTesting.Tab>
<TaskTesting.Link href="https://example.com" render={ ({ output }) => <div>...</div> } />
<TaskTesting.Link href="https://example.com">My static link</TaskTesting.Link>
</TaskTesting>
}
道具
| Prop | 类型 | 需求 | 说明 |
|---|---|---|---|
injector | Object | 对 | 这个 说 bpmn-js 建模器的注射器 |
api | TaskExecutionApi | 对 | API 具有部署、启动实例和投票方法的反对 |
hasError | boolean | 没有 | 是否存在错误 |
config | Config | 没有 | 元素输入/输出配置 |
onConfigChanged | (config: Config) => void | 没有 | 当配置改变时调用 |
errorBannerTitle | string | 没有 | 错误横幅的标题( 默认 ): 'Error'(中文(简体) ) |
errorBannerDescription | string | 对 | 错误横幅描述 |
errorBannerActionLabel | string | 对 | 错误横幅按钮的标签, 它调用 onConfigure |
configureTooltip | string | 没有 | 配置按钮的工具提示( 默认 ): 'Configure'(中文(简体) ) |
onConfigure | Function | 没有 | 当用户点击配置按钮时调用 |
onTestTask | () => boolean | Promise<boolean> | 没有 | 用户点击时调用 执行返回时 true 继续, false 中止 |
operateBaseUrl | string | 没有 | 操作链接的基础 URL |
tasklistBaseUrl | string | 没有 | 任务列表链接的基础 URL |
documentationUrl | string | 没有 | 文档链接的 URL |
onTaskExecutionStarted | (element) => void | 没有 | 任务执行开始时调用 |
onTaskExecutionFinished | (element, result) => void | 没有 | 任务执行结束后调用 |
TaskExecutionApi
这个 api 道克必须实施以下方法. 每种方法应返回 a { success: true, response } 或者说 { success: false, error } 对象.
| 方法 | 说明 |
|---|---|
deploy() | 部署进程定义 |
startInstance(processDefinitionKey, elementId, variables) | 启动进程实例 |
getProcessInstance(processInstanceKey) | 搜索进程实例 |
getProcessInstanceElementInstances(processInstanceKey) | 搜索元素实例 |
getProcessInstanceIncident(processInstanceKey) | 搜索事件 |
getProcessInstanceJobs(processInstanceKey) | 搜索任务 |
getProcessInstanceMessageSubscriptions(processInstanceKey) | 搜索信件订阅 |
getProcessInstanceUserTasks(processInstanceKey) | 搜索用户任务 |
getProcessInstanceVariables(processInstanceKey) | 搜索变量 |
onTaskExecutionFinished 结果
这个 result 参数是受歧视的结合:
success: true——任务顺利完成. 包含lastPolledResult财务报告和审定财务报表processInstanceKey。 。 。 .success: false——任务未成功完成. 包含reason数字 :'incident'- 发生了一起事件(包括incident详细情况)'terminated'- 程序实例终止'user.cancel'— 用户点击已取消'user.selectionChanged'——用户选择了不同的元素'error'- 部署或启动失败(包括error与message(中文(简体) )
插件
自定义标签和链接可以作为孩子添加 :
-
<TaskTesting.Tab>——在运行卡上添加相撞条,在内置变量和时序条下方label(字符串,需要)——条形标签render(函数) —— 接收渲染函数{ output },用于动态内容children(ReactNode) — 静态内容( 替代render(中文(简体) )priority(数字,默认)1000)——优先条条先出fullBleed(布尔,默认)false) —— 将内容边缘置于固定高度、卷轴同位素正文中,用于外用 HTMLonOpenExternal(功能) — 在条形标题上添加一个按键, 用{ element, output, isTaskExecuting, executionLog },比如在自己的窗口中打开内容
-
<TaskTesting.Link>—— 向输出头添加链接href(字符串,需要) — 链接 URLtarget(字符串)——链接目标(如.'_blank'(中文(简体) )render(函数) —— 接收渲染函数{ output },用于动态内容children(ReactNode) — 静态内容( 替代render(中文(简体) )priority(数字,默认)1000)——优先级较高的链接首先出现
发展
安装依赖并旋转本地服务器 http://localhost:3:00 (英语)数字 :
npm install
npm start
这需要一个Camunda 8 例运行.
我们建议使用 Camunda 8 运行 促进发展.
没有进一步设置, 演示会使用默认设置连接到本地 Camunda 8 Run demo/.env.example。要使用另一个集群,请复制 demo/.env.example 改为 demo/.env 并填写集群证书。 机器专用的超接器可以进入 demo/.env.local。这两个文件都是被忽略的——从不承诺证书.
构建
运行所有测试并构建库 :
npm run all
许可证
麻省理工学院