C++ Gtest预测试检查

C++ Gtest预测试检查,c++,testing,googletest,C++,Testing,Googletest,我是gtest新手。我的工作与硬件有关。当我编写测试用例时,我想知道是否有一种方法可以在每次测试之前进行一些预检查,如果预检查结果为假,则使测试结果成功 例如,我正在测试我开发的一个模块,结果表明,对于这个板,它甚至不支持该模块。确实没有理由继续运行以下测试代码。有没有办法让所有的测试都能成功?因为我有很多测试用例,所以在每个测试用例中调用check函数是非常重复的。gtest对此问题是否有一些特殊功能? 我试过SetUp()like class Module : public testing:

我是gtest新手。我的工作与硬件有关。当我编写测试用例时,我想知道是否有一种方法可以在每次测试之前进行一些预检查,如果预检查结果为假,则使测试结果成功

例如,我正在测试我开发的一个模块,结果表明,对于这个板,它甚至不支持该模块。确实没有理由继续运行以下测试代码。有没有办法让所有的测试都能成功?因为我有很多测试用例,所以在每个测试用例中调用check函数是非常重复的。gtest对此问题是否有一些特殊功能? 我试过
SetUp()
like

class Module : public testing::Test{
  protected:
  void SetUp() override{
    get_status = (a function i wrote to check if the board supports the module)
    if (!get_status) {
      SUCCEED();
    }
  }
  unsigned int get_status;
};
但它似乎不起作用。谁能告诉我怎么做或者给我举个正确的例子?谢谢大家!

根据答案改编

您可以尝试以下方法:

类模块:公共测试::测试{ 受保护的: void SetUp()覆盖{ bool get_status=true; 如果(获取_状态){ 标准::cout根据答案改编

您可以尝试以下方法:

类模块:公共测试::测试{ 受保护的: void SetUp()覆盖{ bool get_status=true; 如果(获取_状态){
std::cout
SUCCEED();
宏在引擎盖下不执行任何操作。
GTEST_SKIP
可以在
SetUp
SUCCEED();
宏在引擎盖下不执行任何操作。
GTEST_SKIP
可以在
SetUp