JTest.Cli 2.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global JTest.Cli --version 2.0.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local JTest.Cli --version 2.0.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=JTest.Cli&version=2.0.0
                    
nuke :add-package JTest.Cli --version 2.0.0
                    

JTest

JTest runs JSON-defined API/integration tests and is published as the jtest .NET global tool. It is built to run in CI/CD pipelines: it fails honestly — a non-zero, class-specific exit code whenever anything is wrong — and produces one self-contained HTML report you can open offline.

Quick start

dotnet tool install --global JTest.Cli

Create tests/smoke.json:

{
  "version": "1.0",
  "tests": [
    {
      "name": "gets a user",
      "steps": [
        { "type": "http", "method": "GET", "url": "https://api.example.com/users/1" },
        { "type": "assert", "assert": [
          { "op": "equals", "actualValue": "{{$.this.statusCode}}", "expectedValue": 200 } ] }
      ]
    }
  ]
}

Validate and run it:

jtest validate "tests/**/*.json"
jtest run "tests/**/*.json" --report report.html --trace trace.json

The run exits 0 only if everything ran and passed. report.html is a single self-contained file; trace.json is the machine-readable evidence every report is projected from.

Why JTest 2.0

  • No false-green. A crashing suite, an empty discovery, an invalid definition, a timeout, or a cancellation produces a non-zero, class-specific exit code and is visible in the report.
  • Trustworthy report. A self-contained, failure-first, searchable HTML file that shows the complete nested execution (every loop iteration, template, and assertion) — safe to publish, with secrets redacted and no active markup.
  • Canonical evidence. Every report is a read-only projection of one versioned execution trace.
  • Formal language. The test-definition format has an authoritative, versioned JSON Schema that jtest validate enforces with located diagnostics.
  • Deterministic HTTP. Case-insensitive keyed headers, statusCode/status, and automatic per-case cookie sessions.

Exit codes

Code Meaning
0 success
1 test/assertion failures
2 execution error (crash, bad load, or zero results when files were expected)
3 validation error (schema-invalid definition)
4 aborted (cancelled or timed out)

Documentation

See also the CHANGELOG.

Build from source

dotnet build JTest.sln -c Release
dotnet test JTest.sln -c Release

License

This project is licensed under the MIT License — see the LICENSE file for details.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
2.0.1 51 9/17/2026
2.0.0 68 9/17/2026
2.0.0-preview.22 35 9/17/2026
2.0.0-preview.19 41 9/17/2026
2.0.0-preview.17 84 8/9/2026
2.0.0-preview.16 75 8/8/2026
2.0.0-preview.15 65 8/8/2026
2.0.0-preview.14 78 8/7/2026
2.0.0-preview.13 76 8/5/2026
2.0.0-preview.12 74 8/5/2026
2.0.0-preview.11 70 8/5/2026
2.0.0-preview.10 73 8/4/2026
2.0.0-preview.9 74 8/3/2026
2.0.0-preview.8 59 8/3/2026
1.0.3 169 3/20/2026
1.0.2 144 2/3/2026
1.0.1 166 1/2/2026
0.1.5 537 12/9/2025
0.1.4 447 12/8/2025
0.1.3 283 11/27/2025
Loading failed