Latest

⚠️请及时更新 SDK + IDEA插件保持先进⚠️

SDK Version

Plugin Version

Summary

Kola 是一个测试 框架+工具, 主要为Apihug 整个生态服务, 还在持续的开发和丰富中(2024/08).

Kola一脉相承 ApiHug 的设计原则:

  1. 统一语言,DSL,减少分歧
  2. 依托现有技术,最大化利用现有资产
  3. 极低学习成本
  4. 单一信任源,版本化管理

Why

现有困境

  1. 测试或需要要很专业(编程技能),或很松散(结构不严谨)
  2. 多工具栈,多角色之间切换上下文缺失
  3. 缺乏设计规划先行
  4. 严谨的版本管理
  5. 团队协同困难(测试和开发, 测试和测试)

现有概念

  1. TDD: Test driven development
  2. BDD: Behaviour-Driven Development
  3. CDC: Consumer Driven Contracts

So

在现有众多的测试解决方案里, 每种方案都有自己的优缺点, 这也使集成方案,在使用便利性和整体完整性不能兼得。

当下方案难以满足:让所有人产品,前后端,测试等角色都能统一理解,书写,维护,管理测试。

Kola 在限定环境 (ApiHug), 提供了可行比较好的方案:

  1. 遵循 BDD 习惯, Given/When/Then/And,直观又简单
  2. DSL, 基于 groovy 声明式语法
  3. 强校验:静态检查(groovy) + 编译处理 + 代码生成
  4. 更多的语法糖, 更好适应用户习惯迁移: junit, junit5,assertj,jsonpath,rest-assured
  5. ApiHug 集成
  6. IDE 支持
  7. 团队协同

最终在 2024-08-02 里程碑 1.0.0-RELEASE 随着整个ApiHug SDK 发行了Kola 第一个版本; Kola Index

Ongoing

  1. Multipart file support DONE
  2. Customized report
  3. Debug tool
  4. Dependencies import
  5. Event Driven support
  6. Stub side
  7. performance test

参考

  1. spring test spring-framework/spring-test
  2. spring test doc spring-framework/reference/testing
  3. spring boot test spring-boot-test
  4. spring boot test doc spring-boot/testing
  5. spring contract spring-cloud-contract
  6. spring contract doc spring-cloud-contract reference
  7. cucumber Behaviour-Driven Development
  8. Spock: Spock Framework
  9. karate Test Automation Made Simple
  10. Contract Test Martin Fowler
  11. PactFlow SmartBear Consumer Driven
  12. Contract Testing Vs Integration Testing from PactFlow
  13. Consumer-Driven Contracts: A Service Evolution Pattern