我有Foo.h,Foo.cpp并且TestFoo.cpp。对于测试,我将 gtest 与 class 一起使用TestFoo : testing::Test。将单元测试的辅助函数放在哪里更好:在该类内部还是在文件中的类外部TestFoo.cpp?似乎最好将不使用 gtest 任何内容的函数放在类外部,而使用的所有内容都放在类内部。这是真的吗?
我有Foo.h,Foo.cpp并且TestFoo.cpp。对于测试,我将 gtest 与 class 一起使用TestFoo : testing::Test。将单元测试的辅助函数放在哪里更好:在该类内部还是在文件中的类外部TestFoo.cpp?似乎最好将不使用 gtest 任何内容的函数放在类外部,而使用的所有内容都放在类内部。这是真的吗?
测试辅助函数位于类中
TestFoo或同一或另一个模块附近的某个位置并不重要。最主要的是这些功能不应该在单元本身中Foo,因为它们不应该包含在向客户交付的过程中,并且在开发过程中是唯一需要的。如果计划长期且频繁地扩展/更改测试,并且测试数量相当多,并且辅助功能不太常见,那么将它们分离到单独的模块中以最小化可能是有意义的重新编译的代码量并使项目更加结构化。但即使在这种情况下,重要的是不要进行某种过度设计,创建许多很可能成为一个整体的小模块。