> ## Documentation Index
> Fetch the complete documentation index at: https://confidence.spotify.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Test Flag Resolution

> Learn how to test flag resolution using the resolver test.

export const HowToSchema = ({name, description, steps = []}) => {
  const schema = {
    "@context": "https://schema.org",
    "@type": "HowTo",
    name,
    description
  };
  if (steps.length > 0) {
    schema.step = steps.map((s, i) => ({
      "@type": "HowToStep",
      position: i + 1,
      name: typeof s === "string" ? s : s.name,
      text: typeof s === "string" ? s : s.text || s.name
    }));
  }
  return <script type="application/ld+json" dangerouslySetInnerHTML={{
    __html: JSON.stringify(schema)
  }} />;
};

<HowToSchema
  name="Test Flag Resolution"
  description="Learn how to test flag resolution using the resolver test."
  steps={[
{
  name: "Navigate to the flag you want to test",
  text: "Go to Flags and select the flag you want to test resolving.",
},
{
  name: "Open the resolver test",
  text: "Click the test button (beaker icon) in the Rules section of the flag detail page. This opens the Resolver test page.",
},
{
  name: "Select a client",
  text: "Choose the client you want to test resolution for from the Clients dropdown.",
},
{
  name: "Select credentials",
  text: "Choose the credentials to use for authentication from the Credentials dropdown.",
},
{
  name: "Filter by flag (optional)",
  text: "The Filter by flag checkbox is enabled by default when you open the resolver test from a specific flag. Disable it to test resolution across all flags.",
},
{
  name: "Add evaluation context",
  text: "Click Add evaluation context to add context fields. Toggle between key-value editing and JSON input using the buttons above. For example, add user_id with your user ID or country with value Sweden.",
},
{ name: "Resolve the flag", text: "Click Resolve to test the resolution." },
]}
/>

The resolver test helps you test and build intuition for how [rules](../flags/define-rules) resolve on a flag.

## Test Flag Resolution

<Steps>
  <Step title="Navigate to the flag you want to test">
    Go to **Flags** and select the flag you want to test resolving.
  </Step>

  <Step title="Open the resolver test">
    Click the test button (beaker icon) in the **Rules** section of the flag detail page. This opens the Resolver test page.
  </Step>

  <Step title="Select a client">
    Choose the client you want to test resolution for from the **Clients** dropdown.
  </Step>

  <Step title="Select credentials">
    Choose the credentials to use for authentication from the **Credentials** dropdown.
  </Step>

  <Step title="Filter by flag (optional)">
    The **Filter by flag** checkbox is enabled by default when you open the resolver test from a specific flag. Disable it to test resolution across all flags.
  </Step>

  <Step title="Add evaluation context">
    Click **Add evaluation context** to add context fields. Toggle between key-value editing and JSON input using the buttons above. For example, add `user_id` with your user ID or `country` with value `Sweden`.
  </Step>

  <Step title="Resolve the flag">
    Click **Resolve** to test the resolution.
  </Step>
</Steps>

The resolver test returns a detailed response explaining which rules match and which don't, together with the reasons why.

<Tip>
  Use **Fill using SDK data** to automatically populate the evaluation context with data from a recent SDK request.
</Tip>

## Related Resources

<CardGroup cols={2}>
  <Card title="Resolve Tester Reference" href="/docs/flags/resolve-tester">
    Deep dive into resolution testing
  </Card>

  <Card title="Rules Reference" href="/docs/flags/define-rules">
    Learn about rule types and evaluation
  </Card>

  <Card title="Context Schema" href="/docs/flags/context-schema">
    Configure evaluation context attributes
  </Card>
</CardGroup>
