【问题标题】:Is it possible to run only subsets of a Boost unit test module?是否可以只运行 Boost 单元测试模块的子集?
【发布时间】:2010-01-22 11:11:11
【问题描述】:

我正在使用 Boost 1.34.1 单元测试框架。 (我知道这个版本很古老,但由于技术原因,现在更新或切换框架不是一种选择。)

我有一个测试模块 (#define BOOST_TEST_MODULE UnitTests),它由三个测试套件 (BOOST_AUTO_TEST_SUITE( Suite1 );) 组成,而这三个测试套件又由几个 BOOST_AUTO_TEST_CASE()s 组成。

我的问题:

是否可以只运行测试模块的一个子集,即将测试运行限制为只运行一个测试套件,甚至只运行一个测试用例?

推理:

我将单元测试集成到我们的 automake 框架中,以便整个模块在 make check 上运行。我不想将其拆分为多个模块,因为我们的应用程序会生成大量输出,并且很高兴在底部看到测试摘要(“X of Y 测试失败”)而不是分散在数千行输出中.

但是完整的测试运行也很耗时,并且您正在寻找的测试的输出同样会被淹没;因此,如果我能以某种方式限制正在运行的测试的范围,那就太好了。

Boost 文档让我很困惑,而且没有比这更明智的了;周围有人可能有建议吗? (允许拆分测试模块同时仍然接收可用的测试摘要的一些技巧也是受欢迎的。)

【问题讨论】:

    标签: unit-testing boost


    【解决方案1】:

    看看--run_test 参数 - 它应该提供您所追求的。

    【讨论】:

    • 如果我使用测试夹具,这似乎不起作用。在这种情况下如何指定特定的测试?
    • @ChristopherPisz:对我有用。您必须给出测试的名称,而不是夹具的名称。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 1970-01-01
    • 2016-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多