Skip to content

Jasmine test utility with automatic mock creation for interfaces and classes

Notifications You must be signed in to change notification settings

Typescript-TDD/jasmine-ts-auto-mock

Repository files navigation

Jasmine Ts Auto Mock

Actions Status

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

Requirements

typescript@^3.2.2

Installation

Examples

If you are using angular with typescript 3.7 you need to follow the solution in this issue:

angular/angular-cli#16071

Add this in the polyfill until angular support typescript 3.7

// @ts-ignore
window.__importDefault = function(mod) {
    return mod && mod.__esModule ? mod : { default: mod };
};

Usage

  1. create an interface
interface Interface {
    methodToMock: () => string
}
  1. create a mock
const mock: Interface = createMock<Interface>();
  1. 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'));
  1. trigger the method
someMethodThatWillTriggerInterfacemethodToMock();
expect(mockMethod).toHaveBeenCalled();

Authors

License

This project is licensed under the MIT License

About

Jasmine test utility with automatic mock creation for interfaces and classes

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published