每个 class 在 Gtest 中只调用一次代码

Call code only once in Gtest per class

我正在使用 gtest 作为我的测试框架。我正在寻找一个只会被调用一次的特定函数。

到目前为止,我已经看到了SetUp 和class 的构造函数。但似乎每次测试都要求他们。根据这个example,构造函数在哪里,

You can do set-up work for each test here

让我相信每个测试用例都会调用一次。对于 SetUp 函数,

Code here will be called immediately after the constructor (right before each test).

这是否意味着每次测试都会调用两者?如果是这样,我可以在哪里放置在测试生命周期内只调用一次的代码 class?

使用Test suite setupSetUpTestSuite()

是的,每个测试方法都会调用构造函数和 SetUp() 方法。在 GTest 中,测试函数作为测试用例 class 的子 class 实现。这就是为什么在执行其每个子项之前自然调用测试用例构造函数的原因。请参阅此 FAQ question 关于使用什么:构造函数或 SetUp()。