semitexa / testing
Semitexa Testing - automated payload and contract testing utilities for applications
Requires
- php: ^8.4
- semitexa/core: *
Requires (Dev)
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2026-04-05 09:00:36 UTC
README
Automated payload contract testing with strategy-based validation and multiple test profiles.
Purpose
Validates payload contracts by executing configurable test strategies against each payload marked with #[TestablePayload]. Supports security, HTTP method, type enforcement, and monkey testing strategies at multiple strictness levels.
Role in Semitexa
Depends on Core. Used by application test suites to verify that payload contracts behave correctly under various conditions without writing individual test cases per endpoint.
Key Features
#[TestablePayload]attribute with configurable strategies and contextPayloadContractTesterorchestrates strategy execution- Strategies:
SecurityStrategy,HttpMethodStrategy,TypeEnforcementStrategy,MonkeyTestingStrategy - Profiles:
StandardProfileStrategy,StrictProfileStrategy,ParanoidProfileStrategy InProcessTransport(direct Application call) andHttpTransport(HTTP mode)TestsPayloadsPHPUnit trait for integrationPayloadMetadataFactoryextracts test metadata
Notes
The InProcessTransport calls Application::handleRequest() directly, bypassing HTTP overhead. Use HttpTransport for end-to-end testing against a running Swoole server.