一句话Kensa 是面向 Kotlin/Java 的现代 BDD 测试框架,可用代码直接编写 Given-When-Then 测试并生成 HTML 活文档与交互序列图。
适合谁使用 Kotlin 或 Java、JUnit/Kotest/TestNG、希望采用 BDD 但不想维护 Gherkin feature 文件和 step definitions 的开发与测试团队。
核心功能用 Kotlin/Java 直接编写 Given-When-Then 测试支持 JUnit 5、JUnit 6、Kotest、TestNG自动生成交互式 HTML 测试报告捕获组件交互并渲染交互式序列图支持 AssertJ、Hamcrest、HamKrest、Kotest matchers@RenderedValue 自动把字段值呈现在报告中IntelliJ IDEA 插件可从 IDE 打开报告TeamCity 插件可在 CI 构建中嵌入报告和失败摘要支持 Playwright 与 Selenium 的 UI 测试提供 AI Agent Skills 帮助编写和审查 Kensa 测试
功能与用途Kensa 是面向 Kotlin 和 Java 的现代 BDD 测试框架。它让开发者直接在代码中用 Given-When-Then DSL 编写可执行测试,不需要单独维护 Gherkin feature 文件和 step definitions。每次运行测试会生成交互式 HTML 报告,包含测试语句、捕获值、fixture 状态,并可把组件间调用渲染成可下钻的交互式序列图。
支持语言/框架支持 Kotlin 和 Java。测试框架支持 JUnit 5、JUnit 6、TestNG;文档中也列出 Kotest 集成/监听器。断言库支持 AssertJ、Hamcrest、HamKrest、Kotest matchers。UI 测试支持 Playwright 和 Selenium。
开源还是闭源文本中出现 GitHub releases、Source repository、Kensa on GitHub、Star 等信息,但未明确说明许可证或开源模式。
自托管选项Kensa 本身作为项目依赖和 Gradle 插件在本地/CI 中运行,报告默认输出到本地临时目录,也可配置到 build/kensa 等路径。TeamCity 插件可安装到自有 TeamCity server。文本未描述云端托管服务。
定价未提供定价信息。
API/SDK提供 API Documentation,核心概念包括 Configuration、Fixtures、Captured Outputs、Annotations、Interaction Renderers 等。通过 KensaTest 暴露 given、and、whenever、then DSL;提供 Gradle plugin、kensa-bom、各测试框架 artifact 和断言桥接接口。
集成与生态集成 JUnit 5/6、Kotest、TestNG、AssertJ、Hamcrest、HamKrest、Kotest matchers、Playwright、Selenium、Gradle、IntelliJ IDEA、TeamCity。AI Agent Skills 可用于 Claude Code、OpenCode,也可手动接入 GitHub Copilot、JetBrains AI Assistant、Cursor、Anthropic/OpenAI SDK 的提示中。
文档质量文档覆盖 Introduction、Quickstart、Kotlin/Java/TestNG 指南、API Overview、Configuration、Fixtures、CLI、UI Testing、Build Plugins、Integrations、AI Agent Skills、Roadmap 等,示例代码较完整,安装和运行步骤清晰。需要注意的是部分页面对 Kotest 支持状态表述存在不完全一致。
中国访问未知
适用场景BDD 自动化测试、JVM 项目的活文档生成、组件交互序列图记录、CI 中展示可读测试结果、用 AI Agent 审查 Kensa 测试写法。
同类Cucumber、Kotest、JUnit、TestNG 及传统基于 Gherkin 的 BDD 测试框架