Функция тестирования, которая запускает загрузку файла с помощью jest - PullRequest
1 голос
/ 06 марта 2019

Я пытаюсь протестировать эту функцию с помощью библиотеки JEST (в проекте я также использую энзим), но я полностью застрял.

Описывая эту функцию несколькими словами, я использую ее для экспорта ранее подготовленных данных.Я обрабатываю некоторые данные, а затем передаю их в виде одной строки, которую эта функция упаковывает в один текстовый файл и начинает загрузку.

В основном это csv, tsv и text.

/**
 * Function creating text file and starting download process
 *
 * @param name - file name
 * @param extension - file extension
 * @param content - file content
 */
export const downloadTextFile = (name: string, extension: string, content: string) => {
    const link = document.createElement('a');
    link.className = 'download-helper';
    link.download = name + '.' + extension;
    link.href = `data:application/${extension},` + escape(content);
    link.click();
};

Я хочу развить хорошие навыки тестирования, поэтому я также пытаюсь понять крайние случаи, подобные этому, здесь.Любые советы о том, как его запустить?

?

1 Ответ

1 голос
/ 06 марта 2019

Эту функцию проверить не так просто, поскольку она не возвращает никакого значения и выполняет побочные эффекты.Решением этой проблемы является использование шпионских шпионов для насмешки над функцией createElement.Пример: https://codesandbox.io/s/6xp9lqjzk3

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