我正在通过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 的概念可能与屏幕上实际显示的内容无关。有什么想法吗?
答案 0 :(得分:12)
此工具生成的消息不会出现在测试日志输出中,并且默认值为活动日志级别阈值。要显示这些消息,必须将活动日志级别阈值设置为低于或等于&#34;消息&#34;的值。
运行测试二进制文件时,将环境变量BOOST_TEST_LOG_LEVEL
设置为message
:
BOOST_TEST_LOG_LEVEL=message <your_test>
或传递命令行参数--log_level
:
<your_test> --log_level=message