我正在尝试使用JEST库测试此功能(我也在项目中使用了酶),但是我完全陷入了困境。
用几句话描述此功能,我用它来导出先前准备的数据。我处理了一些数据,然后以单个字符串的形式传递数据,该函数将其包装到单个文本文件中并开始下载。
通常是csv,tsv和文本。
/**
* 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();
};
我想养成良好的测试习惯,因此在这里我也试图了解这种情况。有关如何启动它的任何提示?
答案 0 :(得分:1)
This function is not that easy to test because it does not return any value and performs side effects. A solution to this is using jest spies to mock the createElement
function. Example : https://codesandbox.io/s/6xp9lqjzk3