Keploy as a Google Pub/Sub testing framework
Keploy records the gRPC and HTTP API exchanges your service has with Google Pub/Sub, then replays them byte for byte in tests. Your Pub/Sub client runs unchanged and does its real work on every run, but CI needs no Google Pub/Sub instance, no schema and no seed data.
keploy record -c "<your app start command>"What Keploy gives a Google Pub/Sub team
Every Google Pub/Sub call your service makes
Keploy records the publish and pull exchanges your service has with Pub/Sub, so a message flow replays with no emulator and no GCP project.
- gRPC and HTTP captured
- Publish and pull kept
- Ack and nack responses captured
- No emulator in CI
Why Google Pub/Sub integration tests slow teams down
The friction is rarely the assertions. It is everything around them — spinning up dependencies, keeping mocks honest, and repairing tests after every refactor.
Testing Google Pub/Sub: by hand, with Testcontainers, or with Keploy
Testcontainers gives a test a real Pub/Sub emulator at the cost of running one. A hand-written stub is cheap but never exercises the gRPC API. Keploy replays the recorded exchange with nothing running.
Select any row for the full comparison, with code.
What you write for Google Pub/Sub vs what Keploy records
All three produce the same assertion. Only the third still passes after the next refactor without anyone editing it.
A hand-written stub of the Google Pub/Sub client. The driver never runs.
Testcontainers runs the real Google Pub/Sub. Fidelity is genuine; the job pays for it.
Recorded from one real request. Nothing here was typed by hand.
Times are estimates for authoring one endpoint’s coverage from scratch, not measurements.
Google Pub/Sub testing tools, compared
The options a team on message brokers actually reaches for, and where each one genuinely wins. Select a row for the full comparison.
Assessments reflect each tool’s documented behaviour, not benchmark measurements.
Record your Google Pub/Sub app once, replay it forever
Keploy sits below your Google Pub/Sub process at the network layer. It watches the calls your app already makes, then serves them back on replay so tests run with no dependencies attached.
Keploy records a GET call to /api/v1/orders/{id} on a Google Pub/Sub service and captures the dependency calls it makes.
What Keploy mocks for Google Pub/Sub, with zero config
5 of the 5 dependencies a typical Google Pub/Sub service talks to are stubbed from the recording itself — no mock classes, no fixture files, no containers in CI.
Your first Google Pub/Sub test suite in under five minutes
Every command below runs against your existing Google Pub/Sub service. Nothing in your source tree changes.
1Install the Keploy CLI
A single binary. It needs a Linux kernel with eBPF support, or Docker on macOS and Windows — and it adds nothing to your project's dependencies.
curl -sSL https://keploy.io/install.sh | bash2Record your service
Pass the command you already use to start the app. Keploy runs it and watches every socket it opens.
keploy record -c "<your app start command>"3Exercise the paths you care about
Use curl, your frontend, or an existing smoke script. Every request becomes a test case with its Google Pub/Sub calls captured alongside it.
curl -X POST localhost:8080/orders/o-1/confirmcurl localhost:8080/orders/o-14Replay in CI
Replay serves the recorded dependency responses, so the job needs no service containers and no Docker daemon.
keploy test -c "<your app start command>" --delay 10
Ready to try it on your own Google Pub/Sub service?
Works with the rest of your Google Pub/Sub stack
Keploy records at the network layer, so framework and driver choices inside your Google Pub/Sub app do not change how it captures traffic.
Java
Recorded below google-cloud-pubsub, at the gRPC over HTTP/2 layer.
Python
Recorded below google-cloud-pubsub, at the gRPC over HTTP/2 layer.
Node.js
Recorded below @google-cloud/pubsub, at the gRPC over HTTP/2 layer.
Go
Recorded below cloud.google.com/go/pubsub, at the gRPC over HTTP/2 layer.
gRPC
Recorded below the transport underneath, at the gRPC over HTTP/2 layer.
Testing the rest of your stack
- Message Queues
Keploy as a Apache Kafka testing framework
Test producers and consumers against recorded broker exchanges — no embedded Kafka, no Testcontainers cluster, no flaky poll loops.
Read the guide - Message Queues
Keploy as a RabbitMQ testing framework
Test publishers and consumers against recorded AMQP exchanges, with no broker to start and no queue to declare.
Read the guide - Message Queues
Keploy as a NATS testing framework
Test NATS publishers and subscribers against recorded messages, with no server to run and no JetStream stream to create.
Read the guide - Message Queues
Keploy as a Amazon SQS testing framework
Test SQS producers and consumers against recorded messages, with no LocalStack, no queue, and no AWS credentials in CI.
Read the guide - Languages
Keploy as a Java testing framework
Generate JUnit-grade integration tests for any JVM service by recording the traffic it already serves.
Read the guide - Languages
Keploy as a Node.js testing framework
Replace nock registrations and in-memory database fixtures with tests recorded from the traffic your Node service already serves.
Read the guide
Join our GlobalCommunity
Connect with developers worldwide. Follow updates, ask questions, share feedback, and ship faster with other Keploy builders.
“Best report of integration and API tests I've seen — which we don't get from RestAssured.”
G2“Future of microservices testing. I don't write tests now!”
Mahfooz A. · G2 · 5/5“An amazing product that simplifies the automation.”
Gartner · 4.0