Jasmine vs Jest

Reading time ~1 minute

Jest

Соответствия matcher’ов в Jasmine и Jest

  • and.callThrough() –> mockImplementation()
  • and.callFake() –> mockImplementation()
  • and.returnValue() –> mockReturnValue()
  • and.spyOnProperty() –> spyOn()
  • and.toHaveBeenCalledOnceWith() –> toHaveBeenCalledTimes(1)
  • spyOn(…).and.callFake(() => {}) –> jest.spyOn(…).mockImplementation(() => {})
  • jasmine.createSpy(‘name’) –> jest.fn()
  • toBeTrue –> toBe(true)
  • toBeFalse –> toBe(false)

toHaveBeenCalled() - это алиас для toBeCalled()

Jasmine createSpyObj в Jest

В Jasmine объект шпиона создается, используя функцию createSpyObj и передавая в него параметры имени класса и массива методов:

const serviceMock = createSpyObj('service', ['method_1', 'method_2', 'method_3', 'method_4', 'method_5']);

В Jest просто создается объект с ожидаемыми свойствами, а функция jest.fn() создает методы-шпионы:

const serviceMock = {
    method_1: jest.fn(),
    method_2: jest.fn(),
    method_3: jest.fn(),
    method_4: jest.fn(),
    method_5: jest.fn()
};

Ссылки

KDE и ssh-ключи

В Ubuntu Gnome имеется утилита **gnome-keyring**, при помощи которой очень удобно работать с ключами ssh-key под GitHub или GitLab. Удобс...… Continue reading

Ошибка с версией Node.js

Published on March 24, 2024

Mangling Angular

Published on February 15, 2024