Modernizing a 25-year-old minimal C++ unit testing framework (Part 2)
Summary
Part 2 extends the discussion from Part 1, addressing ODR consistency and header dependency issues by introducing inline variables and a module-based approach in C++20. The article provides concrete code examples for a small testing framework, including capturing test expressions via macros, using std::source_location, and migrating to a module, then discusses tradeoffs and recommendations for header-only vs module usage.