Стамбул, как игнорировать значение по умолчанию ветви для ES6 (Babel компилируется в ES5)

В ES5 мы можем написать так:

function(a){
  /* istanbul ignore next */
  a = a || 123;
}

как игнорировать в ES6?

function(a = 123 ){

}

Я попробовал это:

function(/* istanbul ignore next */a = 123 ){

}

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

2 ответа

Это работает для меня:

function(
  /* istanbul ignore next */
  a = 123
){

}

При использовании TypeScript это было немного сложнее решить, так как типы должны совпадать. Я смог заставить его работать, передав в undefined для каждого параметра. Например...

function testMe(a:SomeType = { foo: 'bar' }, b:AnotherType = { bar: 'baz'}) {
  return a * b;
}
describe('Branch Coverage', () => {
  it('should pass branch coverage', () => {
    expect(testMe(undefined, undefined);
  });
});

Можете ли вы попробовать с babel-plugin-istanbul https://github.com/istanbuljs/babel-plugin-istanbul

Добавьте это к .babelrc в тестовом режиме:

{
  "env": {
    "test": {
      "plugins": [ "istanbul" ]
    }
  }
}
Другие вопросы по тегам