【问题标题】:Code Coverage for C++ dlls through Ruby which uses WIN32OLE通过使用 WIN32OLE 的 Ruby 对 C++ dll 的代码覆盖率
【发布时间】:2012-09-13 23:34:46
【问题描述】:

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

我们,测试人员编写的 RUBY 使用 WIN32OLE 注册 dll 并测试库中的功能。

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

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

谢谢,
维马尔

【问题讨论】:

    标签: c++ ruby code-coverage


    【解决方案1】:

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

    使用图形用户界面

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

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

    使用命令行

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

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

    【讨论】:

    • 谢谢斯蒂芬。我已经尝试过使用 C++ Coverage Validator。但似乎他们不支持 64 位。我们的项目是使用 Win32 平台构建的,也可以在 64 位机器上运行。
    • 维马尔,你错了。有一个 64 位 C++ 覆盖验证器。您可以通过单击 C++ Coverage Validator 页面上的 Beta 按钮(在 Eval 旁边)按钮来实现它。它功能齐全(当您在 2012 年 10 月查看该页面时,它就在那里 - 您只是错过了它或不想加入测试版)​​。
    猜你喜欢
    • 2012-10-03
    • 1970-01-01
    • 2016-04-10
    • 2020-08-12
    • 2013-08-22
    • 2015-11-22
    • 2016-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多