在没有主方法调用的情况下运行Boost.Test

时间:2018-12-28 12:27:09

标签: c++ linux boost clion boost.test

我正在尝试测试部分代码。我编写了以下ResetAlphaAfterDrawing = False文件:

test.h

如果运行测试,则会调用应用程序的main方法,并且由于缺少命令行参数,因此它将终止。我想按原样运行测试套件并成功,因为#include <boost/test/unit_test.hpp> BOOST_AUTO_TEST_CASE(my_test) { BOOST_CHECK(true); } 上的BOOST_CHECK应该是通过的测试。一旦成功,我将逐一添加对代码库中的函数的调用,以进行回归测试。这可能吗?如果是,怎么办?

This post建议将以下定义添加到true文件的顶部,但不适用于跳过主要方法调用:

test.h

1 个答案:

答案 0 :(得分:1)

BOOST_TEST_NO_MAIN使Boost.Test省略了它自己的主要功能,因此它将退回到应用程序的主要功能。

在单元测试中,请勿链接应用程序的main函数(不要添加包含main的文件),而应让Boost.Test添加其自己的main,它将运行所有测试。