awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
sebastianbergmann avatar

sebastianbergmann/global-state

0
View on GitHub↗
6,606 stars·19 forks·PHP·BSD-3-Clause·18 views

Global State

This project is a PHP environment manager and testing utility designed to back up and revert the global application state. It functions as a snapshotter that captures the current state of global variables and settings to prevent side effects between different execution contexts.

The tool focuses on automating testing environment control and ensuring test isolation within PHPUnit suites. It accomplishes this by snapshotting and reverting global state changes during execution to create predictable and reproducible conditions for software tests.

The system implements a backup-and-restore cycle that monitors changes to superglobals and server settings. This allows the environment to be returned to a known previous configuration through a restore-point mechanism.

Features

  • Test Isolation - Ensures PHPUnit tests start with a clean environment by reverting global state changes.
  • State Snapshotters - Captures and restores the state of PHP global variables and settings to isolate test environments.
  • State Capturing - Snapshots current global variables and settings to a backup to return the environment to its previous state.
  • Environment State Restoration - Implements a restore-point mechanism to revert global environment variables to a previously saved state.
  • State Snapshots - Captures the current values of global variables and constants as snapshots for later restoration.
  • PHP Runtime Snapshotting - Captures the state of global PHP data to restore the system to a known previous configuration.
  • Environment State Managers - Functions as a mechanism for backing up and reverting global application state to prevent side effects.
  • Global State Management - Saves and restores global variables and environment settings to prevent side effects between program components.
  • Runtime Variable Tracking - Monitors changes to PHP superglobals and server settings to maintain a consistent system environment.
  • Environment State Backups - Provides a backup-and-restore cycle to capture and revert the PHP environment state between test executions.
  • Controlled Environment Test Executions - Manages the state of global variables to create predictable and reproducible conditions for automated tests.
  • Testing Utilities - Provides a specialized component for managing environment snapshots during the execution of automated PHP test suites.

Star history

Star history chart for sebastianbergmann/global-stateStar history chart for sebastianbergmann/global-state

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Global State

Similar open-source projects, ranked by how many features they share with Global State.
  • avajs/avaavajs avatar

    avajs/ava

    20,849View on GitHub↗

    Ava is a test runner for JavaScript and TypeScript designed to execute test suites with a focus on concurrency and isolation. It serves as a concurrent test executor that runs test files in parallel across multiple processes to reduce total runtime and prevent state leakage between suites. The project features a built-in snapshot testing framework that saves large data structures to disk and compares subsequent executions to detect regressions via diffs. It is also compatible with the Test Anything Protocol, allowing it to export results for use with external reporting tools. Its capability

    JavaScriptassertasyncasync-functions
    View on GitHub↗20,849
  • grosser/parallel_testsgrosser avatar

    grosser/parallel_tests

    3,493View on GitHub↗

    This project is a parallel test runner and shell command executor designed to reduce total runtime by executing test suites across multiple CPU cores. It functions as a test suite load balancer and a CI test process manager that coordinates global setup, teardown, and exit codes for continuous integration pipelines. The tool acts as a test database orchestrator by creating and managing unique database instances mapped to parallel processes, which prevents data collisions. It distributes tests into balanced groups based on file size or recorded runtimes to optimize execution time and avoid bot

    Ruby
    View on GitHub↗3,493
  • cucumber/cucumber-jscucumber avatar

    cucumber/cucumber-js

    5,350View on GitHub↗

    Cucumber-js is a behavior-driven development tool and acceptance test automation framework for JavaScript. It serves as a test automation engine that allows users to define system behavior using human-readable scenarios, mapping plain-text steps to executable code to verify that software conforms to business rules and acceptance criteria. The project utilizes a Gherkin-based framework to create executable system documentation in natural language. It supports multi-language localization for writing scenarios in various spoken languages and provides tools for scenario parameterization and busin

    TypeScriptcucumberjavascripttypescript
    View on GitHub↗5,350
  • jquery/qunitjquery avatar

    jquery/qunit

    4,035View on GitHub↗

    QUnit is a JavaScript unit testing framework designed to verify code behavior using assertions and lifecycle hooks across browsers and server runtimes. It functions as a browser-based test runner with an HTML interface for reporting results, an asynchronous test orchestrator for coordinating callbacks, and a utility for isolating and verifying document object model changes. The framework distinguishes itself through specialized DOM testing capabilities, allowing for the isolation and resetting of the document object model between tests to ensure atomicity. It also features a system for detect

    JavaScript
    View on GitHub↗4,035
See all 30 alternatives to Global State→

Frequently asked questions

What does sebastianbergmann/global-state do?

This project is a PHP environment manager and testing utility designed to back up and revert the global application state. It functions as a snapshotter that captures the current state of global variables and settings to prevent side effects between different execution contexts.

What are the main features of sebastianbergmann/global-state?

The main features of sebastianbergmann/global-state are: Test Isolation, State Snapshotters, State Capturing, Environment State Restoration, State Snapshots, PHP Runtime Snapshotting, Environment State Managers, Global State Management.

What are some open-source alternatives to sebastianbergmann/global-state?

Open-source alternatives to sebastianbergmann/global-state include: avajs/ava — Ava is a test runner for JavaScript and TypeScript designed to execute test suites with a focus on concurrency and… jquery/qunit — QUnit is a JavaScript unit testing framework designed to verify code behavior using assertions and lifecycle hooks… cucumber/cucumber-js — Cucumber-js is a behavior-driven development tool and acceptance test automation framework for JavaScript. It serves… nextest-rs/nextest — nextest is a high-performance test execution framework and Rust test runner designed to manage parallelism, retries,… grosser/parallel_tests — This project is a parallel test runner and shell command executor designed to reduce total runtime by executing test… sindresorhus/ava — Ava is a concurrent test runner for Node.js that executes test files in parallel using worker thread isolation to…