On this page

Testing your Gates/Experiments

Test Statsig integration locally with overrides, local evaluation, and unit tests so you can validate feature gate and experiment behavior before launch.

Statsig provides tools that let you test configurations quickly while ensuring reliable outcomes. This page highlights key features to help you test efficiently.


Overrides: test features, experiments, or holdouts

Overrides allow you to manually configure features, experiments, or holdouts for testing purposes. This method enables safe testing without affecting live production data or skewing experiment results. Statsig excludes overrides from Pulse analysis to maintain unbiased results.
  • Use Segments to target overrides to pre-production environments or specific groups (e.g., employees) for testing.

Feature Override Example

Experiment Override Example

For more details on adding overrides, go to:


Unit testing with Statsig

Statsig's server SDKs offer a localMode feature that disables network access, ensuring that tests run locally and independently of production systems. When localMode is active, the SDK returns default values, allowing you to mock features and experiments in a controlled test environment.

Override APIs for testing

You can use the overrideGate and overrideConfig APIs to set specific overrides for users or globally during testing.

js
function overrideGate(
    gateName: string,
    value: boolean,
    userID?: string,
): void;
js
function overrideConfig(
    configName: string,
    value: object,
    userID?: string,
): void;

For example, to override a gate for testing:

js
statsig.overrideGate("example_gate", true);

Environments: configuring Development, Staging, and Production

Statsig lets you assign environments to feature gates, experiments, and events. By default, Statsig assigns checks without a defined environment to Production. You can customize environments (such as Development, Staging, or Production) and use them to target different versions of feature gates or segments.

  • Non-production events appear in diagnostics and Statsig uses them to track cumulative exposures and metric results when testing experiments in lower environments with Enable for Environments. Production data is prioritized for final Pulse result analyses.

Customizing environments

You can map your internal environments to Statsig's built-in environments or create custom mappings. Common setups include:

  • Assigning Dev One boxes to Development.
  • Creating an Early Access slice (e.g., 1% of production users) as part of the Production environment for phased rollouts.
For more details on environments, go to the Statsig blog post.

Was this helpful?