.. _development-cpp-approval-catch2-v3: Approval Tests を Catch2 v3 で使用する ========================================= `Approval Tests for C++ `_ を `Catch2 `_ のバージョン 3 で使用する場合に、 2022/2/13 の最新版では少し調整が必要になったため、 ここにメモを残しておく。 使用したライブラリのバージョン ----------------------------------- - Approval Tests for C++ 10.12.1 - Catch2 v3.0.0-preview4 問題点 ------------- - Approval Tests が ``catch2/catch.hpp`` ファイルを使用するが、 Catch2 v3 にはそのようなヘッダがない。 - Approval Tests が ``Catch::TestEventListenerBase`` というクラスを使用するが、 Catch2 v3 では ``Catch::EventListenerBase`` という名前に変更されている。 調整内容 -------------- インクルードディレクトリに ``catch2/catch.hpp`` ファイルを追加し、 以下のように記載しておくと、 ビルドができるようになる。 .. code-block:: cpp #include #include #include #include namespace Catch { struct TestEventListenerBase : public EventListenerBase { using EventListenerBase::EventListenerBase; }; } // namespace Catch