This is a library that extend ts-auto-mock to be used with jasmine
The intention of the library is to automatically assign spies to mocks giving you type safety
typescript@^3.2.2
-
A Transformer needs to be provided at compile time. There are different ways to do it. Please read the following guide to find your configuration
-
provide jasmine-ts-auto-mock before your test Please read the following guide to find your configuration
If you are using angular with typescript 3.7 you need to follow the solution in this issue:
Add this in the polyfill until angular support typescript 3.7
// @ts-ignore
window.__importDefault = function(mod) {
return mod && mod.__esModule ? mod : { default: mod };
};
- create an interface
interface Interface {
methodToMock: () => string
}
- create a mock
const mock: Interface = createMock<Interface>();
- get the method mock
You can get the method spy in 2 different ways
Through method
import { On, method } from "ts-auto-mock/extension";
const mockMethod: jasmine.Spy = On(mock).get(method(mock => mock.methodToMock));
Through string
import { On, method } from "ts-auto-mock/extension";
const mockMethod: jasmine.Spy = On(mock).get(method('methodToMock'));
- trigger the method
someMethodThatWillTriggerInterfacemethodToMock();
expect(mockMethod).toHaveBeenCalled();
This project is licensed under the MIT License