Модульное тестирование с использованием жасмина - PullRequest
0 голосов
/ 12 сентября 2018

Я пишу библиотеку 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.

1 Ответ

0 голосов
/ 12 сентября 2018

Спасибо @AdityaBhave за указание.Мне нужно только убедиться, что моя фиктивная и фактическая функции фактически совпадают.Пожалуйста, смотрите комментарий выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...