2

Specmatic: transform API specs into executable contracts

 1 month ago
source link: https://github.com/znsio/specmatic
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Specmatic

Context

In a complex, interdependent eco-system, where each service is evolving rapidly, we want to make the dependencies between them explicit in the form of executable contracts. Contract Driven Development leverages API specifications like OpenAPI, AsyncAPI, etc. as executable contracts allowing teams to get instantaneous feedback while making changes to avoid accidental breakage.

With this ability, we can now independently deploy, at will, any service at any time without having to depend on expensive and fragile integration tests.

What is Specmatic

Specmatic embodies contract driven development (CDD) by leveraging API specifications as executable contracts.

  • Contract as Tests - Generating free tests on the fly based only on you API specifications making sure that your implementation is always adhering to your API specification
  • Contract as Stub - Stubbing a service based on its API specification, that too with the guarantee that your response mappings will always be in sync with your API specs
  • Backward Compatibility Testing (#NOCODE) - Identify backward breaking changes well ahead of time even before write any code based only on your API specifications
  • Central Contract Repository - Single source of truth for your API Specifications
  • API First Design - CDD encourages putting API design first rather than design being a byproduct of service implementation

Our Goal is to support various types of Interactions

Systems interact with each other through several means. Specmatic hopes to address all these mechanisms and not just web interactions.

  • API calls (JSon REST, SOAP XML, gRPC, Thrift, other binary protocols)
  • Events via Messaging (Kafka, Redis, ActiveMQ, RabbitMQ, Kinesis, etc.)
  • DB, Other Data Stores
  • File system
  • Libraries, SDK
  • OS Level Pipes

Specmatic's Product Roadmap

Learn more at specmatic.in

Get started now

Specmatic - Contract Driven Development - YouTube playlist

Youtube playlist


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK