Friendship in Service of Testing - Gábor Márton [ C++Now 2016 ]
Description:
Explore the challenges and solutions for unit testing object-oriented code in C++ through this conference talk from C++Now 2016. Delve into the complexities of dependency injection and accessing private dependencies for testing purposes. Examine how traditional testing approaches can lead to intrusive changes in code design, potentially compromising the original intentions. Learn about current techniques for dependency injection, including compile-time seams, and methods for accessing private data such as friend declarations and the Attorney-Client idiom. Discover a proposed language extension that could make testing code less intrusive through open non-intrusive friend declarations. Gain insights from a proof-of-concept implementation based on LLVM/Clang, demonstrating how these constructs can be established with minimal syntactical and compilation overhead.