BDD

行为驱动开发(BDD)是一种软件团队工作方式,可以缩小业务人员和技术人员之间的差距:

  1. 鼓励跨角色协作,建立对需要解决的问题的共同理解
  2. 采用快速、小规模的迭代,增加反馈和价值流转
  3. 生成自动检查系统行为的系统文档

我们通过将协作工作集中在具体的、贴近实际的示例上来实现这一点,这些示例阐述了我们希望系统的行为方式。

我们使用这些示例作为指引,从概念到实现,进行持续的协作。

Groovy

  1. DSL
  2. Dynamic language
  3. Straightforward

Dependencies

Kola 依托一系列成熟、优秀的第三方库和框架,构建起了强大的基础设施,从而提供了一套完整的测试解决方案。

框架引入备注
org.springframework:spring-coreAPI依赖引入Spring核心
org.springframework:spring-contextAPI依赖引入Spring核心
org.springframework:spring-testAPI依赖引入Spring核心
org.junit.jupiter:junit-jupiter-apiAPI依赖引入junit5
org.junit.jupiter:junit-jupiterAPI依赖引入junit5
org.assertj:assertj-coreAPI依赖引入流式调用
org.mockito:mockito-coreAPI依赖引入mock
com.jayway.jsonpath:json-pathAPI依赖引入Xpath JSON
org.skyscreamer:jsonassertAPI依赖引入Assertion JSON
org.hamcrest:hamcrestAPI依赖引入匹配帮助
org.awaitility:awaitilityAPI依赖引入异步测试
org.xmlunit:xmlunit-coreAPI依赖引入XMLUnit for Java
jakarta.xml.bind:jakarta.xml.bind-apiAPI依赖引入Jakarta XML Binding API
io.rest-assured:rest-assuredAPI依赖引入-
org.junit.jupiter:junit-jupiter-api未依赖-

ApiHug

Kola 专为ApiHug 测试而设定,如果您的测试范围都在 ApiHug 风格API 那么测试将会非常简单直接;

但是如果你使用任何已存在或者三方的API, Kola 也能测试, 只是失去了部分灵活和便捷, 比如无法自动帮你mock 一个请求体;

当然这些附加的好处,手动做起来也毫不费力!

至于生成的测试代码, 那个完全是 java 写的 Junit5 代码, 使用的三方辅助包,都是耳熟能详的,你应该没有任何的学习和理解成本。