TypeScript ESDoc如何衡量注释覆盖率?

3

我正在使用Angular4和Typescript编写代码,并使用esdoc-coverage-pluginesdoc-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个回答

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接