© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
Cloudflare DevelopersCD
Cloudflare Developers•2y ago•
4 replies
Varna

How to test RPC Workers?

Is my approach wrong here?
// test/index.test.ts
import { env, createExecutionContext } from "cloudflare:test"
import { describe, it, expect } from "vitest"
import ShareBucket from "../src/index"

describe("R2 Bucket", () => {
  let worker: ShareBucket | null = null

  it("creates a worker", async () => {
    const ctx = createExecutionContext()
    worker = new ShareBucket(ctx, env)
    expect(worker).toBeDefined()
  })
})
// test/index.test.ts
import { env, createExecutionContext } from "cloudflare:test"
import { describe, it, expect } from "vitest"
import ShareBucket from "../src/index"

describe("R2 Bucket", () => {
  let worker: ShareBucket | null = null

  it("creates a worker", async () => {
    const ctx = createExecutionContext()
    worker = new ShareBucket(ctx, env)
    expect(worker).toBeDefined()
  })
})

// src/index.ts
import { api } from "./api"
import { WorkerEntrypoint } from "cloudflare:workers"

export default class ShareBucket extends WorkerEntrypoint<Env> {
  async putObject(object: unknown) {
    // ...
  }

  async getObject(key: string) {
    // ...
  }

  async fetch(request: Request): Promise<Response> {
    return api.state("env", this.env).state("ctx", this.ctx).fetch(request)
  }
}
// src/index.ts
import { api } from "./api"
import { WorkerEntrypoint } from "cloudflare:workers"

export default class ShareBucket extends WorkerEntrypoint<Env> {
  async putObject(object: unknown) {
    // ...
  }

  async getObject(key: string) {
    // ...
  }

  async fetch(request: Request): Promise<Response> {
    return api.state("env", this.env).state("ctx", this.ctx).fetch(request)
  }
}

With this setup, I receive vitest error:
TypeError: Failed to construct 'WorkerEntrypoint': constructor parameter 1 is not of type 'ExecutionContext'.
image.png
Cloudflare Developers banner
Cloudflare DevelopersJoin
Welcome to the official Cloudflare Developers server. Here you can ask for help and stay updated with the latest news
85,042Members
Resources

Similar Threads

Was this page helpful?
Recent Announcements

Similar Threads

How to test multiple workers locally
Cloudflare DevelopersCDCloudflare Developers / workers-and-pages-help
2y ago
Tail workers with RPC
Cloudflare DevelopersCDCloudflare Developers / workers-and-pages-help
2d ago
Workers RPC with typescript
Cloudflare DevelopersCDCloudflare Developers / workers-and-pages-help
17mo ago
How to develop and test Email Workers locally
Cloudflare DevelopersCDCloudflare Developers / workers-and-pages-help
2y ago