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

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

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

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

function(a = 123 ){

}

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

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

}

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

Ответ 1

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

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

}

Ответ 2

При использовании 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);
  });
});