2017-08-28 1 views
3

Ich schreibe in Angular4 und Typoskript mit esdoc-coverage-plugin und esdoc-typescript-plugin.Wie misst Typescript ESDoc die Kommentarabdeckung?

In meiner Code-Basis, jede Methode, Klasse und Mitglied einen Kommentarblock in dieser Form haben:

/** @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(); 
    } 
} 

Einige Dateien erreichen 100% mit diesem Format werden andere Dateien auf 40% fest. Selbst nachdem ich über jeder Codezeile Platzhalterkommentare platziert habe, die sogar jede if-else-Verzweigung detailliert dokumentieren, kann ich die Reichweite nicht erhöhen. Was vermisse ich?

Ich kann keinen physischen Code-Ausschnitt bereitstellen, aber ich kann versuchen, alle weiteren Fragen zu beantworten, die Sie haben, wenn Sie weitere Informationen benötigen, um mir eine Antwort zu geben, danke.

Antwort

0

Beendete diese Antwort für mich. Ich habe die Abhängigkeitsinjektion in meinen Komponentenkonstruktoren verwendet.

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

Dies führt zu keiner Abdeckung der Mitglieder "service1" und "service2" Ihrer Klasse. Stattdessen verwendete ich eine Syntax, die an meine Java-Tage erinnert, und sie brachte mir eine vollständige Berichterstattung, auf Kosten, dass sie viel ausführlicher war.

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; 
    ... 
} 
Verwandte Themen