使用夹具时提升单元测试过滤器

Posted

技术标签:

【中文标题】使用夹具时提升单元测试过滤器【英文标题】:boost unit test filter when using a fixture 【发布时间】:2017-10-16 15:58:11 【问题描述】:

我需要指定一个特定的单元测试来运行。当然,我在查看文档后查看了 Stack Overflow Answers,但都没有使用夹具。

如果我有,如何指定要运行的测试用例:

BOOST_AUTO_TEST_SUITE(mysuite)

struct Fixture

    Fixture()
    
        BOOST_TEST_MESSAGE("Setup");
    

    ~Fixture()
    
        BOOST_TEST_MESSAGE("Teardown");
    
;

BOOST_FIXTURE_TEST_CASE(add_remove, Fixture)



BOOST_AUTO_TEST_SUITE_END()

如果我通过--run_test=add_remove,该过程会返回一条消息测试设置错误:没有匹配过滤器的测试用例或所有测试用例都被禁用。

我看过: http://www.boost.org/doc/libs/1_64_0/libs/test/doc/html/boost_test/runtime_config/test_unit_filtering.html

Is it possible to run only subsets of a Boost unit test module?

How to set which Boost unit test to run

【问题讨论】:

【参考方案1】:

当您使用测试用例的路径作为--run_test 的参数时,它还必须包含套件的名称。在您的情况下,请通过 --run_test=mysuite/add_remove。这在documentation 中有描述(查看该部分中的表格)。

Live demo

【讨论】:

以上是关于使用夹具时提升单元测试过滤器的主要内容,如果未能解决你的问题,请参考以下文章

unittest单元测试框架小白入门

带有加载夹具的 Django 单元测试,用于解决几个相关的应用程序问题

在 django 单元测试中加载固定装置

Golang 测试中的夹具

加载夹具时 django unittest 出错

单元测试工具-unittest