将延迟延迟到GTEST测试案例中

Add delay to gtest Test Case

本文关键字:延迟 案例 测试 GTEST 迟到      更新时间:2023-10-16

我正在使用Google测试框架来测试硬件以太网开关。某些操作(E.X.启用RSTP)需要时间进行。因此,我需要在测试用例内实现某种Sleep()功能:

TEST_F(RSTP, enableRSTP) {
    snmp.set(OID, Integer32(3));
    // after changing value switch is unavailable
    // so I need to wait before request
    auto result = snmp.get(OID);
    auto res = std::get<Integer32>(result);
    ASSERT_EQ(res, Integer32(3));
}

我该如何完成?

,如其中之一所述,您可以使用(C 14):

#include <chrono>
#include <thread>
TEST_F(RSTP, enableRSTP) {
  ...
  using namespace std::chrono_literals;
  std::this_thread::sleep_for(2s);
  ...
}

...或用于C 11,将2s替换为:

std::chrono::seconds(2)

如果您不使用> = = C 11,那么这将成为一个特定的问题(不是标准C )