C++ Unit Testing: Google Test and Google Mock
What you'll learn
- Google Test (C++ Unit Testing)
- Google Mock
- Basic C++
- No unit testing experience is required
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 me
There 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 structure
Assertions - numeric, string, exceptions
Reusing 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):
Setting the behaviour of mocks
Who this course is for:
- Software developers and students who want to make their code more robust, bug-free
- Anyone interested in Google Test and Google Mock
I am a passionate software developer. I've been a professional programmer for 9 years now.
In one of my previous jobs, I also worked as a trainer for new recruits.
Co-author of a research paper (2014): Towards the Impact of Design Flaws on the Resources Used by an Application.
My top languages are C++ and Java.