2016-03-07 68 views
4

我正在运行谷歌测试。谷歌测试 - 上课前

我需要像上课之类的东西。我有SetUp()和TearDown()函数,但它们在之前和之后运行,每个测试。现在我需要一些全局的东西 - 比如ctor,它应该在类加载时只运行一次。

感谢提前。

+0

请详细说明这个“班级加载的一次”。你指的是什么课,“加载”课是什么意思? –

+0

我的意思是在所有**测试开始之前运行的东西。没有为每个测试用例设置。 – Rat

回答

7

您可以定义静态成员函数在每个灯具类void SetUpTestCase()void TearDownTestCase(),即从::testing::Test派生每个类。

对于每个灯具,在灯具中的所有测试运行之前和之后,该代码只能运行一次。

检查docs

+0

Perez - 如何为所有测试(在所有测试案例中)做到这一点?我的意思是,我希望在每次测试之前,同样的SetUp方法将运行,以及在每次测试之后,同样的TearDown方法将运行,而无需添加/编辑任何现有类? –

+1

@GuyAvraham:AFAIK框架中没有这样的钩子函数可以让你做到这一点。你可能需要自己构建它,也许可以为':: testing :: Test'定义一个子类,然后让它从你的测试类派生出来。 –

+0

谢谢,我试过了 - 它的工作原理。 –