2
EXPECT_CALL(foo, Describe(A<const char*>()))
.InSequence(s2)
.WillOnce(Return("dummy"));
在上面的示例文本中,Describe方法的參數我不明白。 它看起來像一個類名然後是一個模板,但想要確認。不知道這個gMock示例中的「A」代表什麼
EXPECT_CALL(foo, Describe(A<const char*>()))
.InSequence(s2)
.WillOnce(Return("dummy"));
在上面的示例文本中,Describe方法的參數我不明白。 它看起來像一個類名然後是一個模板,但想要確認。不知道這個gMock示例中的「A」代表什麼
在這種情況下,它是wildcard matcher,這意味着如果用name
的任何值調用模擬函數string Foo::Describe(const char* name);
,則滿足期望。
與使用「_」而不是「A」不同的是,該類型是特定的。這樣,您可以選擇重載的方法。 (它看起來像一個模板類,只是因爲谷歌模擬使用模板類實現。) – StellarVortex