Persönlicher Spickzettel von Google Test / Mock

Überblick

Letztes Mal habe ich eine Google Mock-Umgebung für C erstellt, die ich für meine Arbeit verwende, und mich daher entschlossen, etwas mehr zu studieren. Es gibt so etwas wie "Google C ++ Mocking Framework Cheet Sheet", aber es ist schwer zu verstehen und fällt mir nicht ein, wenn ich es mir nur ansehe. Beim Lesen habe ich beschlossen, mir so etwas wie einen Spickzettel zu machen. Wir werden es einzeln aktualisieren.

Zusammenfassung der Makros

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 zeigt standardmäßig "klebrig" an

::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

Grammatisch

Prüfvorrichtung

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

RUN_ALL_TESTS und Hauptfunktion

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

::testing::InitGoogleMock

Mehrere Ausnahmen (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 und Standardaktion

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

Den habe ich nicht verstanden

Recommended Posts

Persönlicher Spickzettel von Google Test / Mock
Curry Spickzettel
SQLite3 Spickzettel
pyenv Spickzettel
Cheet Sheet beim Schaben mit Google Colaboratory (Colab)
conda Befehl Spickzettel
PIL / Kissen Spickzettel
So installieren Sie Google Test / Google Mock in Visual Studio 2019
ps Befehl Spickzettel
Spark API Spickzettel
Python3 Spickzettel (Basic)
PySpark Cheet Sheet [Python]
Python-Spickzettel
Tox Einstellungsdatei Spickzettel
numpy Speicher wiederverwenden Spickzettel
Testen Sie eingebettete Software mit Google Test
Versuchen Sie Google Mock mit C.
[Python3] Standardeingabe [Cheet Sheet]
Data Science Cheet Sheet (Python)
Slack API Anhänge Spickzettel
Python Django Tutorial Cheet Sheet
Scikit lernen Algorithmus Spickzettel
Apache Beam Cheet Sheet [Python]