В модуле (Messages. js), который хорошо работает в браузере и не требует TOAST, потому что он вставляется в HTML внешним файлом.
Возможно, при выполнении модульного теста на JEST я получил следующую ошибку:
TypeError: $ .toast не является функцией.
Файл : Сообщения. js
const Mensagens = function(str_msg, str_type){
let attr = {
title: str_msg,
type: str_type,
delay: 5000
};
$.toast(attr); // TypeError: $.toast is not a function
};
export.modules = Messages;
Файл: Messages.test. js
var Messages = require('./Messages');
window.$ = require('jquery');
// My try to do a mock for TOAST
const MyToastMock = jest.fn();
$.fn.toast = MyToastMock;
test('Testing Messages', () => {
Mensagens('Test message', 'error');
expect(MyToastMock.mock.calls[0][0]).toBe('Test message');
expect(MyToastMock.mock.calls[0][1]).toBe('error');
}
Как сделать блок тест работает хорошо?
Спасибо за любую помощь!