C++ 测试显示测试持续时间

C++ 测试显示测试持续时间,c++,unit-testing,testing,boost.test,C++,Unit Testing,Testing,Boost.test,我正在使用Boost.Test1.60.0来测试我的项目。为了确定最耗时的测试,我想知道每个测试的测试持续时间(以毫秒为单位)。所有测试所消耗的总时间也很好 Boost.Test有这样的功能吗?如果不是的话,我怎么能够自己实现这样的时间度量呢?您没有说明您正在使用哪个编译器,但是对Boost的引用意味着它可能是gcc gcc内置了对运行时评测的支持,称为gprof。您可以在谷歌搜索中找到大量文档。-log\u level=unit\u scope或BOOST\u TEST\u log\u lev

我正在使用Boost.Test1.60.0来测试我的项目。为了确定最耗时的测试,我想知道每个测试的测试持续时间(以毫秒为单位)。所有测试所消耗的总时间也很好


Boost.Test有这样的功能吗?如果不是的话,我怎么能够自己实现这样的时间度量呢?

您没有说明您正在使用哪个编译器,但是对Boost的引用意味着它可能是gcc

gcc内置了对运行时评测的支持,称为gprof。您可以在谷歌搜索中找到大量文档。

-log\u level=unit\u scope或BOOST\u TEST\u log\u level环境变量


这不会打印任何测试消息,但足够详细,可以打印每个测试套件和任何套件中每个测试用例的持续时间。

对不起,我使用MSVC作为编译器。实际上,最好在最后有一个控制台输出,以秒为单位说明每个测试用例的测试时间。然后将每个套件的测试时间相加,最后是所有测试的测试时间。应使用命令行参数触发输出。从命令行运行时,请尝试添加log_level=all。这会将日志详细程度设置为最大级别。Boost将为每个测试用例添加测试持续时间。谢谢!这就是我要找的。可以使用define设置详细级别,以便开关始终处于打开状态?测试是在不同的服务器上自动运行的,我们公司使用不同的测试框架。是的。下面一行boost::unit_test::unit_test_log.set_threshold_levelboost::unit_test::log_level::log_test_units;完成了任务。非常感谢。