我提到,有些使用GTest的人用 MOCK_DECLARE_METHOD,有些带有MOCK_METHOD。 有什么不同?对于我来说,MOCK_METHOD更好,不需要* .cpp文件加上MOCK_DEFINE_METHOD
答案 0 :(得分:0)
MOCK_METHOD()
更为方便,但是每个包含它的编译单元(〜.cpp文件)都会编译很多代码(甚至是传递代码)。这会变得很慢。
使用MOCK_DECLARE_METHOD()
和MOCK_DEFINE_METHOD()
将MOCK_DECLARE_METHOD()
放在头文件中,这样可以快速地反复编译;然后将相应的MOCK_DEFINE_METHOD()
放入单个.cpp文件中,该文件的编译速度会很慢,但只需要编译一次。
注意:似乎从GTest 1.8.1开始。 MOCK_DECLARE_METHOD
/ MOCK_DEFINE_METHOD
不见了,MOCK_METHOD
是唯一的选择。