Как 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;
...
}