ですA:A :: PUBLIC :: SHOW..2がコンソールで表示されることを期待していましたが、メソッドが実際に返されるようにハードコードされているにもかかわらず、テストケースも失敗しました。テストケースは失敗した状態が、返される値はtrue
TEST(FirstA, TestCall) {
MockA a;
EXPECT_CALL(a, ShowPub2(2))
.Times(AtLeast(1));
a.ShowPub2(2);
EXPECT_TRUE(a.ShowPub2(2));
}
GMOCKテストコード実行出力 - 私はいません出力A :: PUBLIC :: SHOW..2がコンソールおよびテストケースでレンダリングされなかった理由を確認してくださいに失敗しました:いくつかの明確化がここで必要とされている
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from FirstA
[ RUN ] FirstA.TestCall
c:\users\user1\documents\c and c++\gmock\gmock1\gmock1\gmock1.cpp(78): error:
Value of: a.ShowPub2(2)
Actual: false
Expected: true
[ FAILED ] FirstA.TestCall (0 ms)
[----------] 1 test from FirstA (0 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (0 ms total)
[ PASSED ] 0 tests.
[ FAILED ] 1 test, listed below:
[ FAILED ] FirstA.TestCall
1 FAILED TEST
Press any key to continue . . .
int main(int argc, char** argv)
{
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
return 0;
}
模擬メソッドは、仮想:https://github.com/google/googlemock/blob/master/googlemock/docs/ForDummies.mdである必要があります。 – Gluttton
私は両方の方法をバーチャルとして作りましたが、それと同じ問題です。何か不足していますか?仮想ボイドShowPub1(){}と仮想int ShowPub2(int x){} – Prakash