gpt4 book ai didi

unit-testing - BDD 和测试覆盖率

转载 作者:行者123 更新时间:2023-12-01 10:32:08 25 4
gpt4 key购买 nike

我已经开始使用 Quick 和 Nimble 为 iOS 编写我的第一个 BDD 测试,我有一个关于测试覆盖率的问题。

我意识到在传统的单元测试中,开发人员的目标是拥有 100% 的测试覆盖率。但是,我还没有为 BDD 读过那个。如果我正确理解 BDD,那么当我测试代码的行为时,实现的小细节并不重要;重要的是我从我的代码中得到了预期的结果,对吗?

我开始尝试获得 100% 的代码覆盖率,但似乎我开始编写脆弱的测试,因为我没有关注代码的结果,而是试图覆盖我的代码可以采用的所有路径。

  • 我是否正确理解 BDD?
  • 以 100% 的代码覆盖率为目标是否违背了 BDD 的目的?
  • 最佳答案

    正如其中一条评论中提到的,核心 BDD 的一个方面是为您提供测试(可以是自动化的),以保证您的产品完全按照预期执行。很明显:“不少于那个”。

    从这个意义上说,BDD 覆盖范围可帮助您确保您的产品不正常 更多比起那个来说。

    换句话说:假设你所有的 BDD 测试都通过了;并且您的覆盖率为 75% ... 这可能意味着:您的代码库的 25% 是 不需要 为了提供在您的 BDD 测试用例中指定的行为。意思是:您可以仔细查看那 25% 未触及的线条,以了解为什么不需要它们;然后确定是否有机会删除未使用的源代码的相同部分。

    如:第二件好事 作为软件开发人员,您可以做到:在不减少产品功能的情况下从代码库中删除代码。

    (记录: 最好的 软件开发人员可以做的事情:在他的产品中添加吸引新客户的新功能 - 从长远来看,删除代码有助于提高质量,但客户支付的薪水很短, 中长期 )

    关于unit-testing - BDD 和测试覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41417302/

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