如何通过单元和功能测试来测量webapp中的代码覆盖率

问题描述 投票:1回答:1

我有点陷入我一直在研究的任务中。这是关于反应webapp的代码覆盖率。

我使用jest +酶实现了一些单元测试。还有一些功能测试,使用黄瓜获得小黄瓜功能和用于浏览器自动化的木偶操作。

我能够从webpack构建的代码获得覆盖,并通过功能测试使用puppeteer和istanbul在我的localhost上提供。此外,我使用jest从单元测试中获得代码覆盖率(顺便说一下,它包括istanbul来做到这一点)。

问题是:我觉得这是两个不同的指标,因为我用文件测试组件的jest +酶文件,而另一方面,我有来自puppeteer的代码覆盖,实际上是一个单独构建的js文件。

目标应该是从单元测试和功能测试中获得代码覆盖率。

所以,我的问题是:

  • 有意义,测量单元测试和功能测试的代码覆盖率?
  • 有意义,合并代码覆盖单元测试和功能测试?如果有意义怎么做?
  • 从Web应用程序获取代码覆盖率的最佳方法是什么?
reactjs unit-testing code-coverage bdd functional-testing
1个回答
0
投票

总的来说,您的测量,记录和报告代码覆盖率的方法将根据您的使用情况量身定制。这意味着您的问题没有明确的正确或错误答案。我将尝试为您提供帮助您为您和您的团队确定最佳方法的想法。

我首先会问自己为什么要测量代码覆盖率? I.E.您尝试创建的团队运营方式有何变化?在回答您的具体问题时,我会回到这个问题。

此时值得确保代码覆盖率将鼓励您正在寻找的行为。有关这方面的更多信息,请查看此paper。我试图在最近的blog post中解决这个问题。

我在这里做了一些关于你正在工作的团队布局的假设,如果假设是错误的,请原谅我。

measure the code coverage on unit tests and functional tests?

如果您希望鼓励团队编写测试,或者自动执行大部分测试,那么测量代码覆盖率是合适的,因为它可以衡量人们是否以与代码更改相同的速率添加测试。

merge code coverage from unit tests and functional tests?

让我们考虑一下您希望鼓励开发人员编写更多单元测试的示例。在这种情况下,我会说不,不合并报道。期望的行为更改是开发人员编写更多测试,因此,您不希望通过报告包含QA团队的功能测试的度量标准来掩盖他们缺乏测试的情况。

但是,如果您正在考虑软件工程团队并希望从整个团队(开发人员和QA)进行更多测试,那么绝对将覆盖数量组合起来并报告总覆盖率。

if has sense how to do that?

有很多工具可以让你结合多次运行的覆盖率信息。我最喜欢的一个(假设您可以使用基于云的服务)是CodeCov。这是一种以最少的设置工作量可视化代码覆盖率的好方法。

what is the best approach to get code coverage from a webapp?

我将把这个留给那些比我正在使用的技术更详细了解的人。

© www.soinside.com 2019 - 2024. All rights reserved.