• Stars
    star
    278
  • Rank 148,454 (Top 3 %)
  • Language
    Kotlin
  • License
    MIT License
  • Created over 4 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Turn your contracts into executable specifications. Contract Driven Development - Collaboratively Design & Independently Deploy MicroServices & MicroFrontends.

Specmatic

Maven Central GitHub release CI Build Quality Gate Status Twitter Follow

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

Learn more at specmatic.in

Get started now

Youtube playlist

More Repositories

1

teswiz

End-2-End framework for Native & Web Automation using Cucumber-jvm, Appium, Selenium WebDriver, Applitools & ReportPortal
Java
60
star
2

perfiz

A Dockerised API Performance Test Setup based on Gatling with Grafana Dashboards and Prometheus Monitoring
Scala
15
star
3

specmatic-coding-test

Specmatic Coding Test
Kotlin
8
star
4

engioscope

A tool to analyze engineering health: git practices, build pipelines, code quality, release pipelines, test automation, the list goes on.
TypeScript
8
star
5

getting-started-with-teswiz

Sample project to get started with teswiz
Java
7
star
6

specmatic-node

Node wrapper for Specmatic
TypeScript
6
star
7

specmatic-order-contracts

Contracts for sample projects that use Specmatic to do contract driven development
Python
6
star
8

specmatic-documentation

Turn your contracts into executable specifications. Contract Driven Development - Collaboratively Design & Independently Deploy MicroServices & MicroFrontends.
HTML
3
star
9

specmatic-python-extensions

Python extensions for running Specmatic
Python
3
star
10

getting-started-with-karate

Java
2
star
11

specmatic-order-ui

Consumer-side demo using Specmatic to do contract driven development
Kotlin
2
star
12

specmatic-order-api

Provider-side demo using Specmatic to do contract driven development
Kotlin
2
star
13

perfiz-demo

A Dockerised REST Api and related Karate API tests to Demoonstrate Perfiz Performance Testing Setup
Dockerfile
2
star
14

getting-started-with-rp_ap

Sample tests to show how to use ReportPortalIntegration and ApplitoolsIntegration utilities
Java
1
star
15

specmatic-insights-build-reporter-github-action

Github Action for Specmatic Insights
JavaScript
1
star
16

ReportPortalIntegration

Utility to easily integrate ReportPortal with your automation framework
Java
1
star
17

ApplitoolsIntegration

Utility to easily integrate Applitools VisualAI with your automation framework
Java
1
star
18

specmatic-order-bff-nodejs

Specmatic project to demonstrate in nodejs how to stub http APIs with their OpenAPI specifications and mock Kafka broker with AsyncAPI specification
JavaScript
1
star
19

specmatic-order-api-java

Kotlin
1
star
20

specmatic-order-api-java-with-oauth

A sample project to describe how to use Specmatic with a Java Spring Boot application with OAuth
Kotlin
1
star
21

specmatic-jdbc-sample

Sample project demonstrating of how JDBC can be stubbed out using Specmatic
Java
1
star
22

petstore-soap-website

Petstore SOAP consumer example
Java
1
star