Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在测试完成后强制boost::unit_测试暂停?_C++_Boost_Boost Unit Test Framework - Fatal编程技术网

C++ 如何在测试完成后强制boost::unit_测试暂停?

C++ 如何在测试完成后强制boost::unit_测试暂停?,c++,boost,boost-unit-test-framework,C++,Boost,Boost Unit Test Framework,从VisualStudio运行控制台程序时,控制台会显示,程序会运行,然后控制台会消失,您没有机会看到它 通常,我会在main的返回语句之前添加这些行: std::cout << "Press enter to exit " << std::endl; std::string sGot; getline(std::cin, sGot); std::cout您可以添加一个专用于此目的的测试,并且总是最后运行 编辑(由jpo38填写): BOOST\u AUTO\u TES

从VisualStudio运行控制台程序时,控制台会显示,程序会运行,然后控制台会消失,您没有机会看到它

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

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

std::cout您可以添加一个专用于此目的的测试,并且总是最后运行

编辑(由jpo38填写):

BOOST\u AUTO\u TEST\u套件(暂停时停止)
增压自动测试案例(不暂停)
{

std::cout您可以添加一个专用于此目的的测试,并且总是最后运行

编辑(由jpo38填写):

BOOST\u AUTO\u TEST\u套件(暂停时停止)
增压自动测试案例(不暂停)
{

std::cout这是Visual Studio的首选项:

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

这是Visual Studio的首选项:

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

不相关,但您可以简单地使用
std::cin.get();
而不是
getline
使用
std::this_thread::sleep_for()怎么样
?@karastojko:谁在乎这个命令是什么?关键是在哪里添加它?因为我们不能修改主程序,这必须在最后一次测试执行后完成…使用Ctrl+F5运行,而不仅仅是F5(如果不需要调试器)。或者,按照您的要求,通过命令行启动程序。您可以添加一个专用于调试的测试这是目的,并且总是最后运行。不相关,但是您可以简单地使用
std::cin.get();
而不是
getline
std::this_thread::sleep_for()
?@karastojko:谁在乎这个命令是什么?关键是在哪里添加它?因为我们不能修改主程序,这必须在最后一次测试执行后完成…使用Ctrl+F5运行,而不仅仅是F5(如果不需要调试器)。或者,按照您的要求,通过命令行启动程序。您可以添加一个专用于调试的测试这是VS2017和VS2019中新增的。这是VS2017和VS2019中新增的。
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()