使用 C++ 编写应用程序的机器人框架的代码覆盖率

hbk*_*kbh 5 testing automated-tests code-coverage robotframework

我有一个这样的场景 - 用混合语言(主要是 Python、C++ 和 Java)编写的应用程序。Robot框架中有大约100个测试用例来测试应用程序。现在我想查看我的应用程序的代码覆盖率。有没有什么工具可以在这种情况下工作?提前致谢。

Dan*_*dro 5

与在 robotsframework 外部执行的操作相同:使用外部代码分析工具。让我详细说明一下。

在 Python 中,您可以使用 Coverage ( https://pypi.org/project/coverage ) 等工具来运行测试套件,同时收集覆盖率数据。例如,如果您通常使用以下方式运行机器人测试套件:

robot suites
Run Code Online (Sandbox Code Playgroud)

(假设您有一个包含 .robot 文件的“suites”目录)那么您将在 Coverage 上将机器人作为 Python 模块运行,如下所示:

coverage run -m robot suites
Run Code Online (Sandbox Code Playgroud)

您可以通过以下方式获取报告:

coverage report
Run Code Online (Sandbox Code Playgroud)

如果您只对目录中的代码感兴趣,您可能需要过滤报告(--include 选项)。例如,对于目录“myproy”,您可以执行以下操作:

coverage report --include *myproy/*
Run Code Online (Sandbox Code Playgroud)

只要您弄清楚如何调整其执行命令以将机器人作为模块运行,您就可以对其他 Python 测试覆盖工具使用类似的策略。C++ 和 Java 代码分析工具也是如此;例如,查看以下链接以获取使用 Java 与 JaCoCo 和 Maven 的指南: https: //www.cnblogs.com/z1500592/p/6676646.html