API reference / @backpack/testing / createMockedObject
Function: createMockedObject()
ts
function createMockedObject<T>(type, template?): MockedObject<T>;
Utility that creates a type-safe mock object based on the provided class definition, by patching all prototype methods with a Vitest-compatible spy function.
Type Parameters
Type Parameter |
---|
T |
Parameters
Parameter | Type |
---|---|
type | Class <T > | AbstractClass <T > |
template? | Partial <T > |
Returns
MockedObject
<T
>
Example
ts
import { describe, it } from "vitest";
import { createMockedObject } from "@backpack/testing";
import { MyService } from './my-service';
import { MyRepository } from './my-repository';
describe('MyService', () => {
const repositoryMock = createMockedObject(MyRepository)
const myService = new MyService(repositoryMock);
afterEach(() => {
repositoryMock.resetAll();
})
it('should invoke the repository only once', () => {
myService.doSomething();
expect(repositoryMock.save).toHaveBeenCalledOnce();
});
})