Аналог Jasmine createSpyObj в Jest
- В Jasmine объект шпиона создаётся используя функцию Jasmine createSpyObj и передавая в него параметры имени класса и массива методов.
// Jasmine
const serviceMock = createSpyObj('service', ['methods', 'you', 'want', 'to', 'mock']);
В Jest просто создается объект с ожидаемыми свойствами, а функция jest.fn() создает методы-шпионы.
// Jest
const serviceMock = {
methods: jest.fn(),
you: jest.fn(),
want: jest.fn(),
to: jest.fn(),
mock: jest.fn()
};
Jasmine/jest различия
jasmine.createSpy('name')
-->jest.fn()
and.returnValue()
-->mockReturnValue()
spyOn(...).and.callFake(() => {})
-->jest.spyOn(...).mockImplementation(() => {})