Я пишу библиотеку javascript, которая вызывает метод на другой js lib.Большую часть времени я создавал фиктивную функцию из сторонней библиотеки и следил за ней.Однако, это не похоже на работу.
Например:
mymain.js
export const checkForExternalFunc = () => {
try {
return com.externalFunc
} catch (error) {
return false
}
}
mymain_spec.js
import { checkForExternalFunc } from './src';
describe('checkForExternalFunc', () => {
let com = com || {};
com.externalFunc = function () {
return true;
};
it('return the function when com.externalFunc is present', () => {
spyOn(com, "externalFunc");
let check = checkForExternalFunc();
expect(check).toBe(jasmine.Any(function));
});
})
, и это даст мне ошибку
ReferenceError: com is not defined
Функция в библиотеке третьей части
var com = com || {};
com.externalFunc = function () {
// return something
};
Любое предложение, как я могу подойти к этому?Также я немного изучил Stub с Sinon, но не уверен, как правильно его использовать.Любая помощь будет оценена.Спасибо !!
Примечание: я настраиваю проект с помощью webpack + babel, karma, jasmine.