I have a service class
Service.js
class Service { } export default new Service(); And I am trying to provide a mock implementation for this. If I use something like this:
jest.mock('./Service', () => { ... my mock stuff }); It works fine, however I'm not able to access any variables declared outside of the mock, which is a bit limiting as I'd like to reconfigure what the mock returns, etc.
I tried this (inspired by this other StackOverflow article: Service mocked with Jest causes "The module factory of jest.mock() is not allowed to reference any out-of-scope variables" error)
import service from './Service'; jest.mock('./Service', () => jest.fn); service.mockImplementation(() => { return { ... mock stuff } ); Unfortunately when I am trying to run this, I get the below error:
TypeError: _Service2.default.mockImplementation is not a function 1 Answers
Answers 1
The mock is equal to jest.fn. You need to call jest.fn to create a mocked function.
So this:
jest.mock('./Service', () => jest.fn); Should be:
jest.mock('./Service', () => jest.fn());
0 comments:
Post a Comment