【发布时间】:2015-05-07 11:43:20
【问题描述】:
目前我有一个test 文件夹,其中包含每个测试的多个源文件。在 CMake 上,我之前为每个源文件定义了一个二进制文件,但我决定现在应该将所有这些文件合并到一个二进制文件中,并利用 GTest 中的过滤器来选择我想要运行的测试。这些源文件都没有 main() 函数,但我猜 GTest 框架只是在运行时隐式调用它。
所以现在我创建了一个测试管理器源文件,它除了调用InitGoogleTests 和RUN_ALL_TESTS() 的main() 之外什么都没有,并且包含所有测试源文件。根据 Google 的说法,这是“不得已而为之”。
然后我应该如何正确地做到这一点?我真的应该为每个测试源创建头文件并在那里编写声明,然后将所有这些头包含在我的测试管理器源中吗?有没有其他...更容易...的方式来做到这一点?
【问题讨论】:
标签: c++ unit-testing cmake googletest