【问题标题】:Angular/Jasmine testing private function calledAngular/Jasmine 测试私有函数称为
【发布时间】:2022-01-31 10:21:51
【问题描述】:

我试图在代码覆盖率方面获得一些百分比,但我不知道如何做到这一点。这是我正在获取未测试功能的代码的一部分。

    init(){
        this.subscription.add(someStuff.subscribe(() => this.myPrivateMethod()));
    }

    private myPrivateMethod() {
        ...
    }

现在我在代码覆盖率中得到了至少两个未经测试的函数。 第一个是这个() => 第二个是这个private myPrivateMethod() 但是我该如何测试呢?第一个我不知道,第二个是私人的。

【问题讨论】:

  • 我想说你可以通过简单地向 someStuff observable 发送一些值来测试两者
  • @callback 谢谢我在这方面还是很新的尝试一下

标签: angular unit-testing jasmine code-coverage


【解决方案1】:

您应该始终测试您的公共接口,而不是私有功能

无法测试私有函数,因为其他文件无权访问它。您可以通过使用方括号表示法(即组件 ['myPrivateMethod'])来测试它,但不建议这样做。您也可以将其更改为公开,然后您就可以对其进行测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-07
    相关资源
    最近更新 更多