我有以下逻辑
ASSERT_TRUE(
GenerateNewUser() && "Could not generate a new user. This happens e.g. when the candy server is down.");
我还在这里分享了GenerateNewUser()以防万一
bool CFlows::GenerateNewUser() {
if (gKeepOldUser) {
return true;
}
LOG_FLOW_STEP_FUNC();
ExecuteConsoleCommand("debug_message_box disable");
KingdomLogout();
ExecuteConsoleCommand("progress 1");
DeadSleep(5000ms);
ExecuteConsoleCommand("debug_message_box enable");
DisableAllABTestsAndPlugins();
ExecuteConsoleCommand("locale us");
CRequests::ExecuteRestApiCommand(CRequests::CmdResetLives, "");
ExecuteConsoleCommand("semidurable reset");
Log("Done");
return true;
}
我想要实现的是当断言失败时,我想跳过 GTEST 并同时将测试结果标记为已跳过。
我检查了 GTEST_SKIP() ,但我不知道它是否会起作用以及是否会将测试状态标记为已跳过。
我需要一些建议和帮助
这可能有用。
if (GenerateNewUser())
{
SUCCEED();
}
else
{
GTEST_SKIP() << "Could not generate a new user. This happens e.g. when the candy server is down.";
}