模拟类看起来像这样: struct MockClass { MOCK_METHOD0( foo, void () ); };
如果我忘记在模拟对象上设置预期调用,我会得到如下信息:
GMOCK WARNING:
Uninteresting mock function call - returning directly.
Function call: foo()
Stack trace:
并且堆栈跟踪为空。
那么,为了获得堆栈跟踪,必须做什么?
模拟类看起来像这样: struct MockClass { MOCK_METHOD0( foo, void () ); };
如果我忘记在模拟对象上设置预期调用,我会得到如下信息:
GMOCK WARNING:
Uninteresting mock function call - returning directly.
Function call: foo()
Stack trace:
并且堆栈跟踪为空。
那么,为了获得堆栈跟踪,必须做什么?
这在这里描述:
您可以使用 --gmock_verbose=LEVEL 命令行标志控制 Google Mock 告诉您的信息量,其中 LEVEL 是具有三个可能值的字符串:
1. info:Google Mock 将打印所有信息性消息、警告和错误(最详细)。在此设置下,Google Mock 还将记录对 ON_CALL/EXPECT_CALL 宏的任何调用。
2. 警告:Google Mock 将同时打印警告和错误(不那么冗长)。这是默认设置。
3. 错误:Google Mock 只会打印错误(最不详细)。或者,您可以在测试中调整该标志的值,如下所示
::testing::FLAGS_gmock_verbose = "error"
:
使用信息警告级别将打印回溯