Is it possible to capture the stdout and stderr when using the googletest framework?
For example, I would like to call a function that writes errors to the console (stderr). Now, when calling the function in the tests, I want to assert that no output appears there.
Or, maybe I want to test the error behaviour and want to assert that a certain string gets printed when I (deliberately) produce an error.
Googletest offers functions for this:
testing::internal::CaptureStdout();
std::cout << "My test";
std::string output = testing::internal::GetCapturedStdout();