正如標題中所說,我嘗試使用 google test 測驗我的代碼,但我在模擬繼承方面遇到了一些問題。我將進一步介紹我的代碼結構:file1.hpp
struct A: virtual public testing::Test
{
//function with MocksA
};
檔案2.hpp
struct B: virtual public testing::Test
{
//function with MockB
};
檔案3.hpp
include file1 & file2
class C: public B, public A
{
//call MockB -> fails here
};
如果我只在“public B”上使用繼承,或者將“public B”放在第二位,代碼就可以作業。但是,我需要在我的 C 類中同時測驗 A 和 B,并且 A(或 B,取決于位置)會得到相同的錯誤。
如何包含這兩個檔案并使用它們的模擬?
PS:A&B 對 MOCKS 的稱呼不同,不會互相影響。PS 2:如果情況如上,我得到:未知檔案:失敗 C 例外,描述為“模擬函式沒有設定默認操作,并且它的回傳型別沒有設定默認值。” 扔進試驗體。
實際函式呼叫計數不匹配 EXPECT_CALL(...,.. )... 預期:被呼叫一次 實際:從未呼叫 - 不滿意且處于活動狀態
uj5u.com熱心網友回復:
解決方案是在第三個檔案中添加 EXPECT_CALLS,而不是使用來自 file1 和 file2 的那些
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/470385.html
上一篇:@PutMappingMockHttpServletResponse的JUnitRestControllerTest正文為空
