With Chai, you can create a spy object as follows:
chai.spy.object([ 'push', 'pop' ]);
With jasmine, you can use:
jasmine.createSpyObj('tape', ['play', 'pause', 'stop', 'rewind']);
What's the Jest equivalent?
Context: I am currently migrating a (typescript) Jasmine tests to (typescript) Jest. The migration guide is basically useless in this case: https://facebook.github.io/jest/docs/migration-guide.html As with any relatively new tech, there's nothing that can easily be found in the docs about this.
I've written a very quick createSpyObj
function for jest, to support the old project. Basically ported from Jasmine's implementation.
export const createSpyObj = (baseName, methodNames): { [key: string]: Mock<any> } => {
let obj: any = {};
for (let i = 0; i < methodNames.length; i++) {
obj[methodNames[i]] = jest.fn();
}
return obj;
};