@camunda/task-testing

中文文档
7.1.0发布于 2026/11/07MITTypeScriptCommonJS近 30 天下载 1.4万

CI

中文使用文档
文档目录5 节
  1. 使用量
  2. 道具
  3. 发展
  4. 构建
  5. 许可证

@camunda/ 任务测试

CI

验证您的 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类型需求说明
injectorObject对这个 说 bpmn-js 建模器的注射器
apiTaskExecutionApi对API 具有部署、启动实例和投票方法的反对
hasErrorboolean没有是否存在错误
configConfig没有元素输入/输出配置
onConfigChanged(config: Config) => void没有当配置改变时调用
errorBannerTitlestring没有错误横幅的标题( 默认 ): 'Error'(中文(简体) )
errorBannerDescriptionstring对错误横幅描述
errorBannerActionLabelstring对错误横幅按钮的标签, 它调用 onConfigure
configureTooltipstring没有配置按钮的工具提示( 默认 ): 'Configure'(中文(简体) )
onConfigureFunction没有当用户点击配置按钮时调用
onTestTask() => boolean | Promise<boolean>没有用户点击时调用 执行返回时 true 继续, false 中止
operateBaseUrlstring没有操作链接的基础 URL
tasklistBaseUrlstring没有任务列表链接的基础 URL
documentationUrlstring没有文档链接的 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) —— 将内容边缘置于固定高度、卷轴同位素正文中,用于外用 HTML
    • onOpenExternal (功能) — 在条形标题上添加一个按键, 用 { element, output, isTaskExecuting, executionLog },比如在自己的窗口中打开内容
  • <TaskTesting.Link> —— 向输出头添加链接

    • href (字符串,需要) — 链接 URL
    • target (字符串)——链接目标(如. '_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

许可证

麻省理工学院

版本与发布记录

@camunda/task-testing 共发布 32 个版本,首次发布于 2025/09/04;过去 12 个月发布了 19 个版本。

版本发布日期距今
7.1.0latest2026/11/072 天前
7.0.12026/10/2217 天前
7.0.02026/10/011 个月前
6.0.12026/08/202 个月前
6.0.02026/08/053 个月前
5.1.02026/06/304 个月前

其他发布通道:next → 3.0.0-rc.0。

关于 @camunda/task-testing 的常见问题

如何安装 @camunda/task-testing?

在项目目录运行 npm install @camunda/task-testing,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(^19.0.0)、react-dom(^19.0.0)、camunda-bpmn-js(*)、@camunda/design-system(>=0.63.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@camunda/task-testing 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@camunda/task-testing 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@camunda/task-testing 可以商用吗?

@camunda/task-testing 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@camunda/task-testing 的下载量有多少?

根据 npm 官方下载统计,@camunda/task-testing 在 2026/10/09 – 2026/11/07 这 30 天内被下载 14,369 次,日均约 479 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@camunda/task-testing 还在维护吗?

最新版本 7.1.0 发布于 2026/11/07(2 天前);至今共发布 32 个版本,其中过去 12 个月发布了 19 个;首次发布于 2025/09/04。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。