2017-08-28 111 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; 
    ... 
}