0

我有一个 gtest 参数化类,我想在每个参数之间调用一些 SetUp 和 TearDown。我知道 googletest 提供在每个测试用例之前的 SetUp 和在所有测试用例之前的 SetUpTestCase。

我有这样的事情:

class MyParameterizedTest: public TestWithParam<MyParams>
{
public:
   MyParameterizedTest() {}

   void SetUp()
   {
      //called before every test case
   }

   void TearDown()
   {
      //called after every test case
   }

   static void SetUpTestCase()
   {
      //called at the begining of framework and before all test cases
   }

   static void TearDownTestCase()
   {
      //called at the end of the framework and after all test cases
   }

   //Wishing for something like:
   // void SetUpParameter()
   {
      //called before start of parameter
   }
};

INSTANTIATE_TEST_CASE_P(RegistrationTest, InterfaceTest, ValuesIn(AllTheValues::GetAllMyParams()));

关于如何使这项工作的任何想法?也许是一种查看特定参数的最后一个测试用例何时运行的方法?还是我必须为每个单独的参数实例化一个测试用例?

4

1 回答 1

0

我认为创建这样的组合是违反良好做法的,因为:

可能的解决方案: - 创建单独的测试用例。有用。违背框架几乎总是一条糟糕的路线。如果框架发生变化怎么办?您可能必须对齐所有测试......这在生产代码中确实是错误的。

于 2015-04-09T20:42:11.163 回答