Как Typescript ESDoc измеряет покрытие комментариев?

Я пишу на Angular4 и Typescript с помощью подключаемого модуля esdoc-cover-plugin и https://www.npmjs.com/package/esdoc-typescript-plugin.

В моей кодовой базе каждый метод, класс и член имеют блок комментариев в этой форме:

/** @method methodName
 * @desc method description
 * @param {type} paramName - description of paramName
 * @returns {type}
 */
methodName(param: type) {
    /** the if statement does this */
    if(something) {
        doSomething();
    } else {
        doSomethingElse();
    }
}

Некоторые файлы достигают 100% с этим форматом, другие файлы застряли на 40%. Даже после размещения комментариев-заполнителей над каждой строкой кода, даже подробно документируя каждую ветвь if-else, я не могу расширить охват. Что мне не хватает?

Я не могу предоставить физический фрагмент кода, но я могу попытаться ответить на любые дополнительные вопросы, которые у вас есть, если вам нужна дополнительная информация, чтобы дать мне ответ, спасибо.

1 ответ

Закончился отвечать на это для себя. Я использовал внедрение зависимостей в моих конструкторах компонентов.

/** @constructor Component1
 * @param {Service1} service1 - details about service1
 * @param {Service2} service2 - details about service2
 */
constructor(private service1: Service1, private service2: Service2) {
    ...
}

Это оставит вас без покрытия для членов "service1" и "service2" вашего класса. Поэтому вместо этого я использовал синтаксис, напоминающий мои дни Java, и он получил полное освещение за счет того, что я стал гораздо более многословным.

private service1: Service1;
private service2: Service2;
/** @constructor Component1 */
constructor(service1: Service1, service2: Service2) {
    /** @private {Service1} service1 - details about service1 */
    this.service1 = service1;
    /** @private {Service2} service2 - details about service2 */
    this.service2 = service2;
    ...
}
Другие вопросы по тегам