2017-08-28 112 views
3

我正在用Angular4和Typescript編寫esdoc-coverage-pluginesdoc-typescript-pluginTypescript ESDoc如何評估評論範圍?

在我的代碼庫,每一個方法,類和成員有一個註釋塊以這種形式:

/** @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分支,我也無法提高覆蓋率。我錯過了什麼?

我無法提供代碼的物理代碼段,但如果您需要更多信息給我一個答案,我可以嘗試回答任何後續問題,謝謝。

回答

0

完成了自己的回答。我在組件構造函數中使用了依賴注入。

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