3
我開始使用gtest實現一些測試。我有一些從外部請求數據的方法,需要一些時間。所以我想用線程並行執行。爲了測試,我做了一個簡單的例子:在gtest中運行線程
void TestThread(void) {
ASSERT_EQ(1,2);
boost::this_thread::sleep_for(boost::chrono::seconds(5));
ASSERT_EQ(2,3);
}
TEST(MySuite, MyTest) {
boost::thread myThread(TestThread);
ASSERT_EQ(0,0);
myThread.join();
}
int main(int argc, char** argv) {
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
我會期待TestThread的所有斷言,但第二個從不是測試結果的一部分。測試運行時間還不到一秒鐘。我想,'boost :: thread :: join'不起作用,但是爲什麼?如果斷言失敗
問候, 基督教
來源:https://github.com/google/googletest/blob/master/googletest/docs/Primer.md#assertions – YSC
@YSC我以爲只有我知道如何找到一本使用說明手冊。 .. ;-) –
(噓,不要破壞魔法) – YSC