如何让BOOST_TEST_MESSAGE显示在屏幕上?

qua*_*ant 9 c++ boost boost-unit-test-framework

我正在通过Boost单元测试框架摸索,并建立了一个基本的功能单元测试.我正在使用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();
Run Code Online (Sandbox Code Playgroud)

我试过定义BOOST_TEST_LOG_LEVEL,all但这没有效果.我从Boost日志级参数页面得到了这个想法,但我认为日志的概念可能与屏幕上实际显示的内容无关.有任何想法吗?

kyn*_*nan 12

根据文件:

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

要么设置环境变量BOOST_TEST_LOG_LEVELmessage运行测试二进制文件时:

BOOST_TEST_LOG_LEVEL=message <your_test>
Run Code Online (Sandbox Code Playgroud)

或传递命令行参数--log_level:

<your_test> --log_level=message
Run Code Online (Sandbox Code Playgroud)