npm.io
0.12.0 • Published yesterdayCLI

@openapi-testgen/cli

Licence
MIT
Version
0.12.0
Deps
0
Size
20.9 MB
Vulns
0
Weekly
0
Install scriptsThis package runs scripts during installation (preinstall/install/postinstall)

@openapi-testgen/cli

Generate test cases from OpenAPI specifications to validate API contract compliance.

Installation

# Global installation
npm install -g @openapi-testgen/cli

# Run directly with npx
npx @openapi-testgen/cli --help

# Project dependency
npm install --save-dev @openapi-testgen/cli

Requirements

The package supports two execution modes:

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.

JAR Fallback

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:

openapi-testgen \
  --spec-file openapi.yaml \
  --output-dir ./generated-tests \
  --generator template \
  --generator-option templateSet=restassured-java \
  --generator-option templateVariables.package=com.example.generated \
  --generator-option templateVariables.baseUrl=http://localhost:8080

Generate JSON test suites:

openapi-testgen \
  --spec-file openapi.yaml \
  --output-dir ./test-data \
  --generator test-suite-writer \
  --generator-option outputFileName=tests.json

Usage in package.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

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"
openapi-testgen --config-file config.yaml

Documentation

License

MIT

Keywords