C++ Unit Testing: Google Test And Google Mock
Last updated 7/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.51 GB | Duration: 3h 27m
Last updated 7/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.51 GB | Duration: 3h 27m
Beginning Test Driven Development (TDD) in C++ with Googletest and Googlemock
What you'll learn
Google Test (C++ Unit Testing)
Google Mock
Requirements
Basic C++
No unit testing experience is required
Description
This course is for software developers and students who want to be better programmers by writing more solid, bug-free code using the Google Test framework. Your code will get better and you will have more confidence that your code is correct, because you will catch more bugs using automated tests.How many times did this happen to you? You wrote new code, and after your hard work is done, you find that you broke features that used to work? And you had to waste more hours finding and fixing the bugs… This problem can get solved in most cases by using automated tests, especially unit tests.No experience with automated testing is required. Very basic C++ knowledge is needed, nothing too sophisticated. If you are completely new to Google Test, this course is just for you! If you already have some knowledge, look at the course content and see if you find some more advanced features that you didn't know about.Google Test works on multiple platforms. You can use any platform you like. In this course, I am doing it on:Windows (Visual Studio)Linux (CMake or compiling directly from the command line)Other platforms will be added if you suggest them to meThere are slides and hands-on coding examples in each section. I recommend that you try the examples and play around with them.Here's a brief presentation of the course content:Optional videos: Setting up on Windows (Visual Studio) and on Linux (CMake and GCC)Basics of unit testing:Unit test structureAssertions - numeric, string, exceptionsReusing code between tests (test fixtures, SetUp() and TearDown())Parameterized tests: generate multiple tests by writing one single function.Mocking - replacing real objects with fakes that you can control):BasicsSetting the behaviour of mocksMatchers
Overview
Section 1: Course Intro
Lecture 1 How to Use This Course
Section 2: Setting Up Google Test
Lecture 2 Intro
Lecture 3 Update for CMake users on all operating systems
Lecture 4 Installing Visual Studio
Lecture 5 Visual Studio - Sample GTest Project
Lecture 6 Small Update
Lecture 7 Googletest with FetchContent in CMake
Lecture 8 About the Next Lecture
Lecture 9 Googletest with FetchContent in CMake Visual Studio
Lecture 10 Installing on Linux
Lecture 11 Google Test CMake Sample (Linux)
Lecture 12 Google Test - CMake With a Test Runner and Actual Application
Section 3: Unit Testing Basics
Lecture 13 Intro
Lecture 14 What is a Unit Test?
Lecture 15 Unit Test Characteristics
Lecture 16 Types of Testing
Lecture 17 Unit Test Structure (Slides)
Lecture 18 Unit Test Structure (Code Example)
Lecture 19 Assertions
Lecture 20 Assertions (Code Example)
Lecture 21 Assertions on Strings - Wrong Way To Do It
Lecture 22 Assertions on Strings
Lecture 23 Assertions on Strings (Code Example)
Lecture 24 Assertions on Exceptions
Lecture 25 Assertions on Exceptions (Code Example)
Lecture 26 Summary
Section 4: Fixtures: Remove Redundant Code
Lecture 27 Intro
Lecture 28 Introduction to Test Fixtures
Lecture 29 Test Fixtures (Code Example)
Lecture 30 Fixture Flow
Lecture 31 Parameterized Tests
Lecture 32 GoogleTest update
Lecture 33 Parameterized Tests (Code Example)
Lecture 34 Summary
Section 5: Setting Up Google Mock
Lecture 35 Intro
Lecture 36 Google Mock Visual Studio (Windows)
Lecture 37 Google Mock CMake Sample (Linux)
Section 6: Google Mock
Lecture 38 Intro
Lecture 39 Mocking Project Resources
Lecture 40 Introduction to Mocking
Lecture 41 Mocking Methods
Lecture 42 Presentation of Our Project
Lecture 43 Mocking Methods - Current Way (Code Example)
Lecture 44 Mocking Methods - Legacy (Code Example)
Lecture 45 Setting Expectations and Behaviour
Lecture 46 Mocking - Times (Code Example)
Lecture 47 Mocking - Returns (Code Example)
Lecture 48 Invoking Actions (Code Example)
Lecture 49 Matchers
Lecture 50 Matchers (Code Example)
Lecture 51 Assertions on Vectors (Code Example)
Lecture 52 Callbacks
Lecture 53 Mocking Private and Static Methods
Lecture 54 Summary
Section 7: Bonus: Tips & Tricks
Lecture 55 What's this?
Lecture 56 Running a subset of tests, FAIL() and SUCCEED()
Lecture 57 Visual Studio Test Runner
Lecture 58 Arguments in Visual Studio (generating XML report)
Section 8: Conclusion
Lecture 59 Conclusion
Software developers and students who want to make their code more robust, bug-free,Anyone interested in Google Test and Google Mock