MOCK_DECLARE_METHOD和MOCK_METHOD有什么区别

时间:2019-07-24 12:04:35

标签: c++ googletest

我提到,有些使用GTest的人用 MOCK_DECLARE_METHOD,有些带有MOCK_METHOD。 有什么不同?对于我来说,MOCK_METHOD更好,不需要* .cpp文件加上MOCK_DEFINE_METHOD

1 个答案:

答案 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是唯一的选择。