# alisoftware/ohhttpstubs

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/alisoftware-ohhttpstubs).**

5,068 stars · 597 forks · Objective-C · MIT

## Links

- GitHub: https://github.com/AliSoftware/OHHTTPStubs
- awesome-repositories: https://awesome-repositories.com/repository/alisoftware-ohhttpstubs.md

## Topics

`ios` `mock` `mock-server` `mocking` `network` `objective-c` `ohhttpstubs` `stub` `stubbing` `swift`

## Description

OHHTTPStubs is an HTTP network mocking library and request interceptor used to simulate server responses for testing application behavior without a live backend. It functions as a network request stubbing tool that captures outgoing network calls and replaces them with predefined mock data, custom status codes, and headers.

The library distinguishes itself through its ability to simulate a wide range of network conditions, including artificial latency and connection failures. It supports dynamic response sequencing, allowing the tool to return a series of different responses for the same request to test retry logic and recovery workflows.

The tool provides a comprehensive surface for request interception and response simulation, including the ability to load fake response bodies from local files. It includes observability utilities for debugging stub activation and mechanisms for stub lifecycle management to ensure a clean state between test executions.

## Tags

### Networking & Communication

- [Network Request Mocking](https://awesome-repositories.com/f/networking-communication/javascript-network-programming/network-request-mocking.md) — Intercepts outgoing network calls and returns predefined fake data to eliminate the need for a live backend.
- [HTTP Response Stubbing](https://awesome-repositories.com/f/networking-communication/http-request-customization/custom-http-response-serving/http-response-stubbing.md) — Mimics server responses with custom status codes and headers to simulate diverse API scenarios.
- [Request Matching Engines](https://awesome-repositories.com/f/networking-communication/http-request-customization/custom-http-response-serving/http-response-stubbing/request-matching-engines.md) — Provides a matching engine to identify which mock response to trigger based on request patterns.
- [Local File Mappings](https://awesome-repositories.com/f/networking-communication/local-http-servers/local-file-mappings.md) — Enables mapping network requests to local files in the application bundle to provide mock response bodies.
- [API Response Simulators](https://awesome-repositories.com/f/networking-communication/network-traffic-processors/api-response-simulators.md) — Mimics various server scenarios, including latency and failures, to test app stability.
- [HTTP Request Interceptors](https://awesome-repositories.com/f/networking-communication/traffic-interception/http-request-interceptors.md) — Captures outgoing network calls and replaces them with local files or mock responses.
- [URL Loading Stack Interception](https://awesome-repositories.com/f/networking-communication/url-loading-stack-interception.md) — Registers a custom protocol class in the native system network stack to intercept outgoing requests.
- [Sequential Response Queues](https://awesome-repositories.com/f/networking-communication/network-traffic-processors/api-response-simulators/sequential-response-queues.md) — Provides the ability to return a sequence of different responses for the same request to test retry and recovery logic. ([source](https://github.com/AliSoftware/OHHTTPStubs/wiki/Usage-Examples))
- [Custom Header Injections](https://awesome-repositories.com/f/networking-communication/proxy-headers/cors-header-injection/custom-header-injections.md) — Allows injecting custom HTTP headers into simulated responses to test client metadata handling.

### Part of an Awesome List

- [Request Interception](https://awesome-repositories.com/f/awesome-lists/devtools/logging-and-diagnostics/request-interception.md) — Intercepts outgoing network calls based on custom conditions to provide simulated data. ([source](https://github.com/AliSoftware/OHHTTPStubs/wiki/Usage-Examples))
- [Predefined Response Mappings](https://awesome-repositories.com/f/awesome-lists/media/file-and-image-handling/local-file-image-replacements/network-response-mappings/predefined-response-mappings.md) — Returns predefined status codes and headers to simulate specific server responses during testing. ([source](https://github.com/alisoftware/ohhttpstubs#readme))
- [Testing Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/testing-frameworks.md) — Library for stubbing network requests.

### Programming Languages & Runtimes

- [HTTP Mocking Libraries](https://awesome-repositories.com/f/programming-languages-runtimes/node-js-network-libraries/http-mocking-libraries.md) — Provides a library to intercept and simulate HTTP traffic for testing application behavior without a real server.

### Testing & Quality Assurance

- [API Integration Testing](https://awesome-repositories.com/f/testing-quality-assurance/api-integration-testing.md) — Facilitates verifying application behavior against various simulated server responses, status codes, and headers.
- [Network Latency Simulators](https://awesome-repositories.com/f/testing-quality-assurance/api-network-testing/network-latency-simulators.md) — Simulates degraded network conditions by adding artificial delays to requests and responses.
- [Network Resilience Simulators](https://awesome-repositories.com/f/testing-quality-assurance/network-resilience-simulators.md) — Simulates connection failures and service outages to test application resilience.
- [Response Simulators](https://awesome-repositories.com/f/testing-quality-assurance/network-resilience-simulators/response-simulators.md) — Introduces artificial latency and delays into responses to simulate slow network connections.
- [Network Failure Simulations](https://awesome-repositories.com/f/testing-quality-assurance/network-resilience-simulators/response-simulators/network-failure-simulations.md) — Implements the simulation of network errors and connection drops to test application resilience against service outages. ([source](https://github.com/AliSoftware/OHHTTPStubs/wiki/Usage-Examples))
- [Response Sequencing](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/network-api-mocking/api-response-modifiers/dynamic-response-filters/dynamic-response-callbacks/per-request-response-assignments/response-sequencing.md) — Supports returning a series of different responses for the same request to validate retry and recovery workflows.
- [Stub Registries](https://awesome-repositories.com/f/testing-quality-assurance/http-request-clients/api-request-clients/request-testing/stub-registries.md) — Provides a system for registering and removing request-response mappings to isolate test cases and ensure clean state. ([source](https://github.com/AliSoftware/OHHTTPStubs/wiki/Usage-Examples))

### System Administration & Monitoring

- [Sequential Mock Responses](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/linux-system-administration/networking/traffic-interception-modification/network-response-modifiers/response-mocking/sequential-mock-responses.md) — Maintains an ordered list of responses for a single request to test retry logic and state transitions.
