测试完成后如何强制boost :: unit_test暂停?

时间:2016-09-12 08:02:49

标签: c++ boost boost-unit-test-framework

从Visual Studio运行控制台程序时,控制台显示,程序运行,然后控制台消失,而不会让您有机会看到它。

通常,我在main的return语句之前添加这些行:

std::cout << "Press enter to exit " << std::endl;
std::string sGot;
getline(std::cin, sGot);

使用boost::unit_test框架编译程序时,如何做类似的事情?由于main直接属于boost库,我无法对其进行修改(我希望避免重新编译boost)。

2 个答案:

答案 0 :(得分:2)

您可以添加专用于此目的的测试,并始终最后运行。

编辑(由jpo38完成):

BOOST_AUTO_TEST_SUITE( PauseWhenDone )

BOOST_AUTO_TEST_CASE( do_pause )
{
    std::cout << "Press enter to exit " << std::endl;
    std::string sGot;
    getline(std::cin, sGot);
}


BOOST_AUTO_TEST_SUITE_END()

答案 1 :(得分:0)

这是Visual Studio首选项:

  • 转到菜单>工具>选项,您会看到如下图所示的选项对话框
  • 导航到“调试”
  • 取消选中“调试停止时自动关闭控制台”

enter image description here