Authors REST Assured (Java) API tests using the given().when().then() BDD-style DSL - status code + JSON/XML path assertions + authentication (Basic, OAuth2, API key). Configures Maven / Gradle dependencies, runs via JUnit 5, and emits Surefire / JaCoCo reports for CI gating. Use when the project is on the JVM and wants type-safe API tests in the app's own language; for a Gherkin feature-file flow on the same JVM use karate-testing, for YAML tests on the pytest stack use tavern-testing.
88
90%
Does it follow best practices?
Impact
88%
1.10xAverage score across 10 eval scenarios
Passed
No findings from the security scan
Per-test results are published from the correct reports directory
100%
100%
Collection steps run on failure
100%
100%
MUST NOT keep a credential in the workflow file
100%
100%
Reports retained as artifacts
50%
100%
Run targets staging, not production
100%
100%
MUST NOT let a failing suite report success
100%
100%
Dependency cache and Java version
100%
100%
Log output usable and scope respected
50%
100%
Split uses the build's integration-test phase and naming convention
25%
100%
Failsafe is declared with both goals
0%
100%
MUST NOT keep flags, aliases or per-method disabling as the mechanism
100%
100%
Fresh clone goes green on the default command
100%
100%
Per-stage commands named
50%
90%
Test bodies unchanged
100%
100%
Reports separated
0%
83%
Credentials are sent on the first request via the client's own mechanism
100%
100%
MUST NOT leave a non-preemptive Basic call anywhere
100%
100%
Diagnosis names the challenge-response round trip
75%
0%
Request count per authenticated test drops to one
100%
0%
Applied to every authenticated test
100%
100%
MUST NOT hard-code credentials
100%
100%
No masking behaviour added
100%
100%
Assertions, endpoints and build file untouched
66%
100%
Checks become document-path assertions in the response phase
66%
60%
The decision check is anchored to its element
100%
100%
Content type asserted as XML
0%
0%
MUST NOT compare against a recorded document
100%
100%
All five checks retained and formatting-insensitive
100%
100%
No new dependency
100%
100%
Single HTTP call preserved
100%
100%
Each test is one request-through-expectations chain
100%
100%
Manual JSON navigation removed
100%
100%
Bearer credential uses the client's auth support
50%
100%
Fluent static imports used
100%
100%
Checked exceptions gone
100%
100%
Same three behaviours and values preserved
50%
50%
MUST NOT introduce a hard-coded host, token, or new dependency
100%
100%
Host is supplied per build invocation with a default
90%
100%
Local default preserved
100%
100%
MUST NOT leave environment hostnames in test source
100%
100%
One mechanism, not two
100%
100%
The three release commands are shown
0%
0%
Assertions and class structure untouched
100%
100%
No new machinery introduced
50%
50%
Schema assertion is wired through the HTTP client, with the artifact it needs
100%
100%
Schema files are real JSON Schema, not sample payloads
70%
100%
The three documented changes go red
100%
62%
Schema lives in its own reviewable file on the test classpath
100%
100%
Existing assertions preserved
100%
100%
MUST NOT substitute whole-body comparison
100%
100%
Scope respected
50%
100%
Collection endpoints assert non-emptiness, not mere presence
100%
100%
The single-object endpoint fails on a null object
0%
0%
Content type is asserted where the HTML incident applies
100%
100%
Assertions are field-path plus matcher inside the response chain
100%
100%
MUST NOT reintroduce whole-body comparison
100%
100%
Per-test incident mapping supplied
75%
100%
Scope respected
100%
100%
Decomposed into per-field assertions
50%
93%
Volatile fields asserted on shape, not value
100%
100%
MUST NOT weaken to a status-only test
100%
100%
Nested and array fields use path expressions
100%
100%
No coverage silently dropped
100%
83%
Snapshot file resolved
0%
100%
Would catch the two documented regressions
100%
100%
Scope respected
100%
100%
Table of Contents