簡體   English   中英

如何使用Boost Unit Test框架測試Qt應用程序

[英]How to test Qt application with Boost Unit Test framework

是否可以為Qt應用程序編寫單元測試,例如QCoreApplication來測試在任意時間調用的功能? 假設我要測試類的成員函數,例如

void deleteConnectionFromList(QTcpSocket*); 

應在其他函數(如addNewSocket()之后調用此函數

但是,我應該在哪里放置BOOST_CHECK_EQUAL()語句?

BOOST_AUTO_TEST_CASE( test )
{

  int argc{};
  QCoreApplication app(argc, nullptr);
  Server server;
  app.exec();

}

我需要對Qt Network類(需要事件循環)使用升壓單元測試。 我所做的就是這樣。

BOOST_AUTO_TEST_CASE(createServerNetwork)
{
QCoreApplication app(boost::unit_test::framework::master_test_suite().argc,
                     boost::unit_test::framework::master_test_suite().argv);

std::thread thread_server( [&](void)
{
[...]//your code here
QCoreApplication::quit();
});

BOOST_CHECK(app.exec() == 0);
thread_server.join();
}

暫無
暫無

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

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