Devflare Docs
Testing Bindings

Test AI Search the way Devflare expects it to run

AI Search bindings let Workers search and chat with indexed content from Cloudflare AI Search instances.

Test AI Search by choosing the local harness that matches the product boundary instead of reaching for Cloudflare by default.

The first test should prove application control flow. Escalate to Wrangler remote binding or deployed tests only when the Cloudflare-hosted behavior is the thing under test.

Best for
search/chat flows where the app calls an AI Search instance or namespace from a Worker
Default harness
with AI Search fixtures
Escalate when
The assertion depends on Cloudflare-hosted product behavior rather than the app calling the binding correctly

Start with the default test loop

Keep the first test small. Name the binding, call the one method your route uses, and assert the behavior your app owns.

When Cloudflare owns the interesting behavior, mark that as a remote/deployed lane instead of building a local fake that claims too much.

Fixture AI Search results offline

The helper surface to remember

  • Use with AI Search fixtures for config-backed local worker tests.
  • Use / for pure unit tests.
  • Use or an explicit integration lane when the test needs Cloudflare credentials or a local Docker/Podman engine.

When to move beyond the default harness

  • Cloudflare owns crawling, indexing, ranking, and hosted model behavior; local mocks only prove app control flow.
  • Do not let a low-fidelity mock become product documentation. Keep mocks framed as application-flow tools.
  • If a test would mutate paid or remote Cloudflare state, gate it separately from ordinary unit tests.

Local tests should be honest

For AI Search, passing locally means the Devflare contract and app flow are correct. It does not automatically prove every hosted Cloudflare behavior.

Previous

AI Search internals

AI Search compiles from to Wrangler / , with local/test behavior called out explicitly.

Next

AI Search example

A compact AI Search recipe with config and worker usage in one application path.