🎉 Schemathesis.io: schema-based API testing as a service. 🎉
This release adds support for Schemathesis.io - you can upload your test results and visualize them.
Or, you can signup to a Pro account and use our servers to run enhanced tests against your API.
Feel free to join our Discord - we'd love to hear your feedback!
🚀 CLI features
- Support for auth customization & automatic refreshing.
#966
_ - Open API link name customization via the
name
argument toschema.add_link
. st
as an alias to theschemathesis
command line entrypoint.st auth login
/st auth logout
to authenticate with Schemathesis.io.X-Schemathesis-TestCaseId
header to help to distinguish test cases on the application side. #1303- Support for comma separated lists in the
--checks
CLI option. #1373 - Hypothesis Database configuration for CLI via the
--hypothesis-database
option. #1326 - Make the
SCHEMA
CLI argument accept API slugs from Schemathesis.io.
🐛 Bug fixes
- Using
@schema.parametrize
with test methods onpytest>=7.0
. - Show the proper Hypothesis configuration in the CLI output. #1445
- Missing
source
attribute in theCase.partial_deepcopy
implementation. #1429 - Duplicated failure message from
content_type_conformance
andresponse_schema_conformance
checks when the checked response has noContent-Type
header. #1394 - Not copied
case
&response
insideCase.validate_response
. - Ignored
pytest.mark
decorators when they are applied beforeschema.parametrize
if the schema is created viafrom_pytest_fixture
. #1378
🔧 Chores and Improvements
- Enable Open API links traversal by default. To disable it, use
--stateful=none
. - Do not validate API schema by default. To enable it back, use
--validate-schema=true
. - Add the
api_slug
CLI argument to upload data to Schemathesis.io. - Show response status code on failing checks output in CLI.
- Improve error message on malformed Open API path templates (like
/foo}/
). #1372 - Improve error message on malformed media types that appear in the schema or in response headers. #1382
- Relax dependencies on
pyyaml
andclick
. - Add
--cassette-path
that is going to replace--store-network-log
. The old option is deprecated and will be removed in Schemathesis4.0
P.S. These release notes contain entries from multiple releases, as they were not properly displayed on GitHub before