c++ - 通过使用 WIN32OLE 的 Ruby 的 C++ dll 的代码覆盖率

标签 c++ ruby code-coverage

当我想为我们的项目实现代码覆盖时,我遇到了一个特殊问题。我们的项目是使用 C++ 开发的,输出是库 (dll)。

我们,测试人员编写 RUBY,它使用 WIN32OLE 来注册 dll 并测试库中的函数。

现在我们想为我们的项目实现代码覆盖率。但是我们不想花时间为 C++ 编写单元测试来查看代码覆盖率,因为我们已经在 Ruby 中实现了测试。

那么有什么工具或方法可以通过Ruby分析DLL的代码覆盖率吗?

谢谢,
活力

最佳答案

不确定这是否是您要查找的内容,但您可以使用 C++ Coverage Validator 获得 C/C++ DLL 的代码覆盖率.

使用图形用户界面

在启动对话框中,将 ruby​​ 解释器的路径作为您要启动的程序 (d:\ruby\ruby.exe)。然后将 ruby​​ 脚本的名称放入参数字段 (test1.rb) 并将起始目录放入启动目录字段 (d:\tests\test1) .

然后使用 Go 或 Start Application 按钮启动程序。您的 ruby​​ 程序将被执行。加载 DLL 时,C++ 覆盖率验证器使用调试信息(PDB、COFF、Stabs、CodeView 等)识别 DLL 并为它们执行代码覆盖。

使用命令行

您也可以从命令行执行此操作:

coverageValidator.exe -program d:\ruby\ruby.exe -arg test1.rb -directory d:\tests\test1

关于c++ - 通过使用 WIN32OLE 的 Ruby 的 C++ dll 的代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11901788/

相关文章:

java - 记录已执行的 java 代码的行号

unit-testing - 如何在 Go 中将所有包的代码覆盖率放在一起?

c++ - 在 Qt 5 中连接重载信号和槽

python - Python 的 defaultdict 的 Ruby 等价物是什么?

junit - 安卓 JUnit : Define a different Application subclass

Ruby 方法条件

ruby-on-rails - Rails 关联(belongs_to、has_many)无法使用创建方法(用户、帖子、评论)在表中保存 2 个 ID

c++ - 如何通过对象引用传递函数的参数(C++)

c++ - 根据字体名称和样式(粗体/斜体)获取字体文件名

c++ - 当 typedef 的完整类型将具有未知形式时,我可以前向声明 typedef 吗?