簡體   English   中英

測試完成后如何強制 boost::unit_test 暫停?

[英]How can I force boost::unit_test to pause after test is completed?

從 Visual Studio 運行控制台程序時,控制台顯示,程序運行,然后控制台消失,您沒有機會看到它。

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

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

使用boost::unit_test框架編譯程序時,如何做類似的事情? 由於mainboost庫的直接一部分,我無法修改它(我想避免為此重新編譯boost )。

您可以添加專用於此目的且始終最后運行的測試。

編輯(由 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()

這是 Visual Studio 首選項:

  • 轉到菜單 > 工具 > 選項,您會看到如下圖所示的選項對話框
  • 導航到“調試”
  • 取消選中“調試停止時自動關閉控制台”

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM