jestjs/jest · error · TypeError
Cannot define a method called ${name}
Error message
Cannot define a method called ${name} What it means
Error "Cannot define a method called ${name}" thrown in jestjs/jest.
Source
Thrown at packages/jest-worker/src/index.ts:148
workerSchedulingPolicy: this._options.workerSchedulingPolicy,
},
);
this._bindExposedWorkerMethods(workerPath, this._options);
}
private _bindExposedWorkerMethods(
workerPath: string,
options: WorkerFarmOptions,
): void {
for (const name of getExposedMethods(workerPath, options)) {
if (name.startsWith('_')) {
continue;
}
// eslint-disable-next-line no-prototype-builtins
if (this.constructor.prototype.hasOwnProperty(name)) {
throw new TypeError(`Cannot define a method called ${name}`);
}
// @ts-expect-error: dynamic extension of the class instance is expected.
this[name] = this._callFunctionWithArgs.bind(this, name);
}
}
private _callFunctionWithArgs(
method: string,
...args: Array<unknown>
): Promise<unknown> {
if (this._ending) {
throw new Error('Farm is ended, no more calls can be done to it');
}
return this._farm.doWork(method, ...args);
}
View on GitHub (pinned to f49721c78e)
Solutions
- Do not expose a method whose name collides with reserved/internal names on the jest-worker farm. Rename the method you are trying to define on the worker to a non-conflicting name.
When it happens
Trigger: Thrown at packages/jest-worker/src/index.ts:148 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of jestjs/jest@f49721c78e (2026-08-03).
Data as JSON: /data/errors/a77a1883728be099.json.
Report an issue: GitHub.