假設我有兩次/多次不同的測試需要在兩次迭代中在gtest中執行。 那麼,如何執行相同的?我嘗試了我的接近,但它失敗了。 我寫的,如何在Googletest中運行兩個不同的測試
::testing::GTEST_FLAG(repeat) = 2; //may be 2 or 3 or so on...
switch(i) //int i = 1;
{
case 1:
::testing::GTEST_FLAG(filter) = "*first*:*second*";
i++; break;
case 2:
::testing::GTEST_FLAG(filter) = "*third*:*fourth*";
i++; break;
and so on............
但谷歌測試只服用了"*first*:*second*"
並運行兩次。 請幫幫我。我的要求是Gtest應該逐個運行所有的測試案例。 例如,首先它會執行case 1:
然後case 2:
等等...
: - 感謝您的幫助。但是'control'看到沒有任何'preconditions'(像過濾器)的'InitGoogletest'它開始運行所有的測試用例,然後它進入過濾的測試用例。 我找到了解決方案。請看下面。 –
@RasmiRanjanNayak很高興你有你的解決方案。雖然'InitGoogleTest'並不完全符合你的想法。第一次調用它時只有一個效果 - 所有後續調用都是空操作。你可以放心地將它移動到答案中的for循環之前。在我的回答中,你第一次沒有過濾器,因爲我的循環開頭是0而不是1,並且沒有'case 0',所以它使用'default'的情況,即''*「'。 – Fraser
: - 是的,你說得對。我在'for'循環之前做了'InitGoogleTest',並且事情都很好。但是有一個問題,在'for'循環之內和之前保留'InitGoogleTest'有什麼區別(除了'啓動'GoogleTest'多次直到條件失敗]? –