我已经开始为iOS编写我的第一个BDD测试,使用快速和灵活,并且我有一个关于测试覆盖率的问题。
我意识到,在传统的单元测试中,开发人员的目标是拥有100%的测试覆盖率。然而,我还没有为BDD读过这篇文章。如果我正确地理解了BDD,当我测试代码的行为时,那么实现的细节并不重要;重要的是我从代码中得到了预期的结果,对吗?
我开始尝试获得100%的代码覆盖率,但似乎我开始编写脆弱的测试,因为我没有专注于代码的结果,而是试图涵盖代码可以选择的所有路径。
发布于 2017-01-01 18:33:05
正如其中一条注释所提到的,BDD的核心方面是为您提供测试(可以是自动化的),以保证您的产品做的正是它应该做的事情。很明显:“不少于这一点”。
从这个意义上说,BDD 加上覆盖可以帮助您确保您的产品不会比做更多的。
换句话说:假设你所有的BDD考试及格,你的覆盖率是75% .这可能意味着:您的代码库中有25%是,为了提供在BDD测试用例中指定的行为,不需要。意思:您可以更仔细地查看这25%的未触及行,以了解它们为什么不需要;然后确定是否有机会删除未使用的源代码的相同部分。
就像:作为软件开发人员您可以做的第二件最好的事情:从代码库中删除代码,而不减少产品的功能。
(记录在案: SW开发人员所能做的最佳功能:在他的产品中添加一个吸引新客户的新功能--删除代码有助于您的长期质量,但客户会支付您的短期、中期和长期工资)
https://stackoverflow.com/questions/41417302
复制相似问题