CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/karate-testing

Authors Karate `.feature` files using its Gherkin-flavored DSL for HTTP API tests, leverages the `match` keyword with fuzzy validators (#number / #string / #regex / contains / arrays), runs the suite via JUnit 5 plus Maven Surefire, and produces JUnit XML for CI gating. Use when the project is on the JVM and prefers a feature-file authoring flow over Java-DSL fluent chains; for those fluent chains use restassured-testing, for the same YAML-style flow on a Python/pytest stack use tavern-testing.

76

Quality

95%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

match-reference.mdreferences/

Karate keyword and match-modifier reference

Companion to the karate-testing skill: the full step-keyword table and the complete match modifier vocabulary. Per karate-docs.

Step keywords

KeywordPurpose
Feature:One per file; describes the API surface under test.
Scenario:One per case; mirrors a single user / API journey.
Background:Steps that run before each Scenario (auth, base URL setup).
Given url '...'Set the request URL.
Given path '...'Append a path segment to the URL.
Given header X = YSet a request header.
Given param X = YSet a query parameter.
Given request {...}Set the JSON body.
When method <verb>Issue the HTTP request: get, post, put, delete.
Then status NAssert the response status code.
And match exprAssert response body / header / variable shape.

Match examples

# Equality on the whole response
And match response == { id: 1, name: 'Alice' }

# Type fuzzy: any number, any string
And match response == { id: '#number', name: '#string' }

# Regex constraint
And match response.email == '#regex .*@example\\.com'

# Array contains
And match response.items contains { sku: 'SKU-123' }

# Array length / shape
And match response.items == '#array'
And match response.items[0] == { sku: '#string', qty: '#number' }

# Optional / nullable fields
And match response == { id: '#number', deletedAt: '##string' }   # ## = optional

Match modifiers

#number, #string, #boolean, #array, #object, #null, #notnull, #present, #notpresent, #regex <pattern>, and ##<type> for optional compose into a small but expressive matcher language (karate-docs).

SKILL.md

tile.json