【问题标题】:Testing a DLL with Boost::Test from command line从命令行使用 Boost::Test 测试 DLL
【发布时间】:2012-02-23 18:51:40
【问题描述】:

我正在用 C++ 开发一个 DLL,并希望使用 Boost Test Libraries 对该 DLL 执行单元测试。

我发现here可以使用test_runner.exe

如何获取test_runner.exe? 有没有不需要建boost的方式或位置?

我从BoostPro download page 安装了 boost 1.47,但是那里没有 test_runner.exe。

谢谢。

【问题讨论】:

    标签: c++ unit-testing visual-c++ boost-test


    【解决方案1】:

    您可以从源代码自己构建一个。它没有额外的依赖,只有 Boost.Test 本身。

    1. 您可以引导 boost 安装
      下载boost源码,解压运行bootstrap.bat

    2. 然后构建bjam 并在libs/test/tools/test_runner 下运行构建命令。
      bjam.exe 应该存在于解压缩的发行版中。
      将当前文件夹切换到 libs/test/tools/test_runner 并使用所需参数(平台、配置等)从中运行 bjam.exe
      输出console_test_runner.exe 将在bin.v2\libs\test\tools\console_test_runner 中可用

    【讨论】:

    • Gennadiy,我终于解决了我最初的问题 - 当 console_test_runner.exe 捕获异常并输出错误消息时,它被修剪为 512 个字符 - 这受到文件 boost\test\impl\execution_monitor 中常量 REPORT_ERROR_BUFFER_SIZE 的限制.ipp你能增加它,比如16384吗? 512 绝对不够,特别是对于模板类型和使用 BOOST_THROW_EXCEPTION 来获得详细的错误消息。我签入了 boost 1.52——它仍然是 512 字节。 (我不确定在这里写这个建议是否是个好主意,但我不熟悉如何提出建议来提升)
    猜你喜欢
    • 2011-06-21
    • 1970-01-01
    • 1970-01-01
    • 2017-04-11
    • 2020-11-05
    • 2021-10-26
    • 2014-08-05
    • 2011-11-07
    • 2022-01-14
    相关资源
    最近更新 更多