Summary
Kola is a testing framework and tool, primarily serving the entire Apihug ecosystem, and is still under active development and enhancement (as of 2024/08).
Kola inherits the design principles of ApiHug:
-
Unified language, DSL, and reduced divergence
-
Relying on existing technologies, maximizing the utilization of existing assets
-
Extremely low learning cost
-
Single source of truth, with version control management
Existing Challenges
-
Testing often requires either high expertise (programming skills) or is too loosely structured
-
Multiple tool stacks and lack of context switching between different roles
-
Lack of design planning upfront
-
Rigorous version management
-
Native Collaboration
Existing Concepts
-
TDD: Test Driven Development
-
BDD: Behavior-Driven Development
-
CDC: Consumer Driven Contracts
So
Among the many testing solutions available, each has its own pros and cons, leading to a lack of overall convenience and completeness in most integrated solutions.
Some deficiencies are difficult to satisfy in the current paradigm, such as enabling all stakeholders (product manager, front-end, back-end, testing, etc.) to understand and write the tests, and providing a centralized and unified testing management.
Within the constrained environment of ApiHug, Kola provides a relatively optimal solution:
-
Follows the BDD naming convention:
Given
/When
/Then
/And
, intuitive and simple -
DSL, based on the declarative groovy syntax
-
Strong validation: static checking (groovy) + compilation processing
-
More
"sugar"
, enabling user habit migration:junit
,junit5
,assertj
,jsonpath
,rest-assured
-
ApiHug integration
-
IDE support
-
Collaboration
Eventually, on 2024-08-02, the first version of Kola, 1.0.0-RELEASE was released with latest ApiHug SDK bom.
Dependencies
Kola leverages a robust foundation of established, best-in-class third-party libraries and frameworks to deliver a comprehensive testing solution.