Aide-mémoire personnel Google Test / Mock

Aperçu

La dernière fois, j'ai créé un environnement Google Mock pour C que j'utilise pour mon travail, j'ai donc décidé d'étudier un peu plus. Il y a quelque chose comme "Google C ++ Mocking Framework Cheet Sheet", mais c'est difficile à comprendre et cela ne me vient pas à l'esprit simplement en le regardant. En lisant, j'ai décidé de faire quelque chose comme une feuille de triche pour moi-même. Nous le mettrons à jour un par un.

Résumé des macros

TEST(), TEST_F(), TEST_P() https://github.com/google/googletest/blob/master/googletest/docs/primer.md#simple-tests

TEST(TestSuiteName, TestName) {
  ... test body ...
}

ASSERT_EQ, EXPECT_EQ http://opencv.jp/googletestdocs/primer.html#primer-binary-comparison

MOCK_METHOD*, MOCK_CONST_METHOD*

EXPECT_CALL

::testing::_ https://github.com/google/googletest/blob/master/googlemock/docs/cheat_sheet.md#wildcard

Times http://opencv.jp/googlemockdocs/fordummies.html#cardinalities

WillOnce, WillRepeatedly http://opencv.jp/googlemockdocs/fordummies.html#fordummies-general-syntax

using ::testing::Return;...
EXPECT_CALL(turtle, GetX())
    .Times(5)
    .WillOnce(Return(100))
    .WillOnce(Return(150))
    .WillRepeatedly(Return(200));

::testing::Return https://github.com/google/googletest/blob/master/googlemock/docs/cheat_sheet.md#actions-actionlist

RetiresOnSaturation http://opencv.jp/googlemockdocs/fordummies.html#expectation-sticky

Google Mock Expectation indique "collant" par défaut

::testing::Invoke http://opencv.jp/googlemockdocs/cheatsheet.html#cheatsheet-using-afunction-or-functor

double Distance(Unused, double x, double y) { return sqrt(x*x + y*y); }
...
EXPECT_CALL(mock, Foo("Hi", _, _)).WillOnce(Invoke(Distance));

NiceMock<> http://opencv.jp/googlemockdocs/cookbook.html#nice-strict

Grammatique

Appareil d'essai

https://github.com/google/googletest/blob/master/googletest/docs/primer.md#test-fixtures-using-the-same-data-configuration-for-multiple-tests

RUN_ALL_TESTS et fonction principale

http://opencv.jp/googletestdocs/primer.html#primer-invoking-the-tests http://opencv.jp/googlemockdocs/fordummies.html#fordummies-using-mocks-in-tests

::testing::InitGoogleMock

Exceptions multiples (ʻEXPECT_CALL`)

http://opencv.jp/googlemockdocs/fordummies.html#fordummies-using-multiple-expectations

EXPECT_CALL(turtle, Forward(_));  // #1
EXPECT_CALL(turtle, Forward(10))  // #2
    .Times(2);

InSequence http://opencv.jp/googlemockdocs/fordummies.html#fordummies-ordered-vs-unordered

ʻON_CALL` et action par défaut

http://opencv.jp/googlemockdocs/cheatsheet.html#action

Celui que je n'ai pas compris

Recommended Posts

Aide-mémoire personnel Google Test / Mock
Aide-mémoire au curry
Aide-mémoire SQLite3
feuille de triche pyenv
Cheet sheet lors du scraping avec Google Colaboratory (Colab)
feuille de triche de commande conda
Aide-mémoire PIL / Pillow
Comment installer Google Test / Google Mock dans Visual Studio 2019
feuille de triche de commande ps
Aide-mémoire de l'API Spark
Aide-mémoire Python3 (basique)
Fiche technique PySpark [Python]
Feuille de triche de tri Python
feuille de triche de fichier de réglage tox
feuille de triche de réutilisation de la mémoire numpy
Tester les logiciels embarqués avec Google Test
Essayez Google Mock avec C
[Python3] Entrée standard [Cheet sheet]
Fiche technique de la science des données (Python)
Aide-mémoire sur les pièces jointes de l'API Slack
Fiche technique du didacticiel Python Django
feuille de triche de l'algorithme scikit learn
Apache Beam Cheet Sheet [Python]