Jest: игнорировать строки для покрытия кода

В Jest, есть ли способ игнорировать код для покрытия тестов? Я попытался использовать

/* istanbul ignore next */

Но это не работает.

Ответы

Ответ 1

Оно работает.

(function(global) {

    var defineAsGlobal = true;
    /* istanbul ignore next */
    if(typeof exports === 'object') {
        module.exports = lib;
        defineAsGlobal = false;
    }
    /* istanbul ignore next */
    if(typeof modules === 'object' && typeof modules.define === 'function') {
        modules.define('lib', function(provide) {
            provide(lib);
        });
        defineAsGlobal = false;
    }
    /* istanbul ignore next */
    if(typeof define === 'function') {
        define(function(require, exports, module) {
            module.exports = lib;
        });
        defineAsGlobal = false;
    }
    /* istanbul ignore next */
    defineAsGlobal && (global.lib = lib);
})(this);

Пример проекта https://github.com/ilyar/sandbox/tree/master/jest

Ответ 2

Найден обходной путь (пробелы до и после комментария кажутся необходимыми):

class Foo {
  bar /* istanbul ignore next */ () {
    return 'biu~';
  }
}

Ответ 3

Обновление для всех, кто найдет это позже.

/* istanbul ignore next */ 

Будет работать, но, как читается из официальной документации Jest:

coverPathIgnorePatterns, кажется, не имеет никакого эффекта.

Убедитесь, что вы не используете плагин babel-plugin-istanbul. Jest окутывает Стамбул, и, следовательно, также сообщает Стамбулу, какие файлы использовать для сбора покрытия. При использовании babel-plugin-istanbul каждый файл, который обрабатывается Babel, будет иметь код сбора покрытия, следовательно, он не игнорируется coverPathIgnorePatterns.

Документацию можно найти здесь: Документация

Таким образом, чтобы решить эту проблему, удалите babel-plugin-istanbul:

Если это библиотека, основанная только на javascript, то вы можете просто запустить npm uninstall --save babel-plugin-istanbul или npm uninstall --save-dev babel-plugin-istanbul Если вы установили библиотеку с собственным содержимым, для которого требуется связывание, и вы связали его с rnpm, тогда вы можете сделать: rnpm unlink package_name затем выполнить шаг 1 - Aakash Sigdel

Эта цитата была от Аакаша Сигдела найдена здесь: цитата