gpt4 book ai didi

Angular:如何将私有(private)方法纳入代码覆盖范围?

转载 作者:行者123 更新时间:2023-12-03 17:08:20 26 4
gpt4 key购买 nike

是否可以从 ng test --code-coverage 添加私有(private)方法?进入 Angular 8 中的代码覆盖率报告?
我们的 Ng TestCode 覆盖率很低,因为它检查私有(private)方法。
根据文章,私有(private)方法不应该需要单元测试。只有调用私有(private)方法的公共(public)方法才需要。
*阅读标签;如果任何方法以 public 为前缀,它应该是单元测试的。团队也可以开始放置private之前的方法。这种方法是否允许 ng test 找到需要测试的内容?
https://softwareengineering.stackexchange.com/questions/100959/how-do-you-unit-test-private-methods
https://anthonysciamanna.com/2016/02/14/should-private-methods-be-tested.html#:~:text=Unit%20Tests%20Should%20Only%20Test,are%20dependent%20on%20the%20object .
enter image description here
目前在 Angular 8 中测试 Typescript。

最佳答案

代码覆盖率也会检查私有(private)方法。
通常,有两种情况会调用私有(private)方法。

  • 如果私有(private)方法在公共(public)方法中被调用(直接或满足任何条件)

  • For this case, you will need to call the public method in your tests and cover the underlying private method directly and satisfying the condition from your tests.


  • 如果从 DOM 事件调用私有(private)方法,请说按钮单击

  • For this case, you will need to capture the button using By.css and fire click event.


    注意::直到 Angular ivy 被引入,我们可以将按钮点击事件绑定(bind)到 TS 类中的私有(private)方法,但从现在开始它是不可能的。它会给出编译错误。 Property 'onClickMethod' is private and only accessible within class 'AppComponent'

    关于Angular:如何将私有(private)方法纳入代码覆盖范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62644324/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com