我准备了一个用NodeJS编写的浏览器扩展。我的源代码中的所有文件都有UT,但我想在Python Selenium中编写测试用例以进行功能测试。我准备好了所有的测试用例,但我不确定我的代码有多少被测试用例击中。我试图找到一种方法来获得代码覆盖率。我尝试使用伊斯坦布尔并尝试检测代码,然后使用检测代码构建扩展。现在,当我使用检测代码安装此扩展时,在执行测试用例后,我无法获得覆盖。我用它作为参考,我发现它非常有帮助: https://medium.com/@the1mills/front-end-javascript-test-coverage-with-istanbul-selenium-4b2be44e3e98
我只是需要一些相同的抽象,我会自己挖掘,只是一些帮助将不胜感激。
答案 0 :(得分:0)
得到答案,我们需要首先检测我们想知道代码覆盖率的文件(查看问题中的链接以供参考)。一旦文件被检测出来,我们就需要使用这个检测代码而不是实际代码来构建浏览器扩展。在浏览器中加载扩展后运行功能测试,并在所有功能测试结束时在浏览器控制台中运行以下命令:
window.__coverage__
此命令将以字典的形式返回文件的代码覆盖率信息。信息可以用JSON的形式编写,然后使用istanbul的报告命令可视化:
istanbul report --include path/to/my-coverage-file.json --dir my-coverage-dir html
此命令将以html格式生成报告。