yapitest
API testing without the boilerplate — define your tests in YAML, not code.
Yapitest runs HTTP test sequences from plain YAML files. No test runners, no assertion libraries, no expect(value).toBe(0). Declare what to call, what to send, and what to expect back — yapitest handles the rest.
Example
test-create-and-get-post:
setup: create-user
steps:
- id: create-post
path: /api/post/create
method: POST
headers:
API-Token: $setup.token
data:
title: Some Title
body: Some message
assert:
status-code: 201
headers:
content-type: "re/application/json.*"
- path: /api/post/$create-post.response.post_id
assert:
headers:
content-type: "re/application/json.*"
body:
title: Some Title
body: Some message
setup runs a reusable step-set (defined in a config file) before the test begins. $setup.token and $create-post.response.post_id reference values from earlier steps — no glue code required.
Installation
Install with Cargo:
Usage
Point yapitest at a directory or one or more YAML files:
Filtering
Flags can be repeated to filter by multiple values:
Parallelism
By default, yapitest picks an appropriate thread count automatically. Override with -t:
Verbosity
CTRF Report
Write a CTRF JSON report to a file:
Documentation
Full documentation is available at cd-4.github.io/yapitest.