14

我在 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();

我试图定义BOOST_TEST_LOG_LEVELall但这没有效果。我从Boost log-level parameter page得到了这个想法,但我认为日志的概念可能与屏幕上实际显示的内容无关。有任何想法吗?

4

1 回答 1

14

根据文档

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

在运行测试二进制文件时将环境变量设置为BOOST_TEST_LOG_LEVELmessage

BOOST_TEST_LOG_LEVEL=message <your_test>

或传递命令行参数--log_level

<your_test> --log_level=message
于 2014-11-13T14:15:02.413 回答