如何让BOOST_TEST_MESSAGE显示在屏幕上?

时间:2013-10-20 01:19:09

标签: c++ boost boost-unit-test-framework

我正在通过Boost Unit Testing Framework摸索,并建立了一个基本的功能单元测试。我正在使用BOOST_TEST_MESSAGE让用户知道哪些测试正在运行,但消息不会显示在屏幕上。例如:

#define BOOST_TEST_MODULE MyTest

#include <boost/test/included/unit_test.hpp>

BOOST_FIXTURE_TEST_SUITE(MyTestSuite, MyTestFixture)

BOOST_AUTO_TEST_CASE(MessageTest)
{
  BOOST_TEST_MESSAGE( "no one sees this!" );
}

BOOST_AUTO_TEST_SUITE_END();

我尝试将BOOST_TEST_LOG_LEVEL定义为all,但这没有效果。我从Boost log-level parameter page得到了这个想法,但我认为 log 的概念可能与屏幕上实际显示的内容无关。有什么想法吗?

1 个答案:

答案 0 :(得分:12)

根据documentation

  

此工具生成的消息不会出现在测试日志输出中,并且默认值为活动日志级别阈值。要显示这些消息,必须将活动日志级别阈值设置为低于或等于&#34;消息&#34;的值。

运行测试二进制文件时,将环境变量BOOST_TEST_LOG_LEVEL设置为message

BOOST_TEST_LOG_LEVEL=message <your_test>

或传递命令行参数--log_level

<your_test> --log_level=message