首页 > 解决方案 > 伊斯坦布尔忽略下一个也忽略jsdoc

问题描述

我有一个场景,我有一个我们不想包含在 Jest 测试覆盖率中的函数,但我们仍然希望将它包含在 JSDoc 文档生成中。以下面的函数为例:

/**
 * This is a test function description
 * @function
 */
/* istanbul ignore next */
export const myTestFunction = () => {
    console.log("testing");
    return true;
};

我希望该函数不包含在 Jest 代码覆盖率统计中,但我仍然希望处理该 JSDoc 并将其包含在通过 JSDoc 生成的文档中。添加伊斯坦布尔注释似乎会导致两者都忽略该功能。是否有另一种方法可以告诉 Jest 排除此方法?

标签: javascriptjestjsjsdoc

解决方案


我认为问题在于 JSDoc 块不在函数(export const)的正上方,并且注释行在那里。不确定您的真实世界场景是否可以尝试建议解决方法。一种选择是将这些类型的函数放入一个单独的文件中,并将该文件添加到 collectCoverageFrom 的 Jest 配置中,并在 glob 中有一个否定文件。

collectCoverageFrom: [
    '<rootDir>/**/*.ts',
    '!<rootDir>/**/newfunctions.ts',   // This is the file you moved the functions into
    '!<rootDir>/**/*.module.ts'
],

推荐阅读