semitexa/testing

Semitexa Testing - automated payload and contract testing utilities for applications

Maintainers

Package info

github.com/semitexa/semitexa-testing

pkg:composer/semitexa/testing

Statistics

Installs: 16

Dependents: 2

Suggesters: 0

Stars: 0

Open Issues: 0

2026.04.05.0855 2026-04-04 11:25 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 context
  • PayloadContractTester orchestrates strategy execution
  • Strategies: SecurityStrategy, HttpMethodStrategy, TypeEnforcementStrategy, MonkeyTestingStrategy
  • Profiles: StandardProfileStrategy, StrictProfileStrategy, ParanoidProfileStrategy
  • InProcessTransport (direct Application call) and HttpTransport (HTTP mode)
  • TestsPayloads PHPUnit trait for integration
  • PayloadMetadataFactory extracts test metadata

Notes

The InProcessTransport calls Application::handleRequest() directly, bypassing HTTP overhead. Use HttpTransport for end-to-end testing against a running Swoole server.