Generate test cases from OpenAPI specifications
npm install @openapi-testgen/cliGenerate test cases from OpenAPI specifications to validate API contract compliance.
``bashGlobal installation
npm install -g @openapi-testgen/cli
Requirements
The package supports two execution modes:
$3
Native binaries are automatically used when available for your platform:
| Platform | Package | Requirements |
|-------------|-------------------------------------|-----------------------------------------------|
| Linux x64 |
@openapi-testgen/cli-linux-x64 | Any Linux (static binary) |
| Linux ARM64 | @openapi-testgen/cli-linux-arm64 | glibc-based Linux; auto JAR fallback on musl |
| macOS ARM64 | @openapi-testgen/cli-darwin-arm64 | macOS 11+ |
| Windows x64 | @openapi-testgen/cli-win32-x64 | Windows 10+ |Native packages are installed as optional dependencies. No Java required.
$3
If no native binary is available for your platform, the CLI falls back to the JAR-based distribution:
- Requires: Java 21 or later
- Works on: Any platform with Java support
Quick Start
Generate Rest-Assured Java tests:
`bash
openapi-testgen \
--spec-file openapi.yaml \
--output-dir ./generated-tests \
--generator template \
--generator-option templateSet=restassured-java \
--generator-option templateVariables.package=com.example.generated
`Generate JSON test suites:
`bash
openapi-testgen \
--spec-file openapi.yaml \
--output-dir ./test-data \
--generator test-suite-writer \
--generator-option outputFileName=tests.json
`Usage in package.json
`json
{
"scripts": {
"generate-tests": "openapi-testgen --spec-file api.yaml --output-dir tests --generator test-suite-writer --generator-option outputFileName=test-suites.json"
}
}
`Options
| Option | Description |
|-----------------------|---------------------------------------------------|
|
--spec-file | Path to OpenAPI spec (required unless in config) |
| --output-dir | Output directory (required unless in config) |
| --generator | Generator: template or test-suite-writer |
| --generator-option | Generator option (repeatable): key=value |
| --config-file | YAML configuration file |
| --setting | Test generation setting (repeatable): key=value |
| --always-write-test | Write output even on errors |
| --log-level | TRACE, DEBUG, INFO, WARN, ERROR, OFF |
| --prefer-jar | Force JAR execution (skip native binary) |
| --help | Show help |
| --version | Show version |Configuration File
`yaml
specFile: "openapi.yaml"
outputDir: "./generated"
generator: "template"
generatorOptions:
templateSet: "restassured-java"
templateVariables:
package: "com.example.tests"
baseUrl: "http://localhost:8080"
testGenerationSettings:
maxTestCasesPerOperation: 500
validSecurityValues:
ApiKeyAuth: "test-key"
``bash
openapi-testgen --config-file config.yaml
``- Getting Started
- CLI Reference
- npm Installation Guide
MIT