Catch2 is a multi-paradigm test framework for C++. which also supports Objective-C (and maybe C). It is primarily distributed as a single header file, although certain extensions may require additional headers.
      

 
 
 
 
 

The latest version of the single header can be downloaded directly using this link
Catch2 is released!
If you've been using an earlier version of Catch, please see the
Breaking Changes section of the release notes
before moving to Catch2. You might also like to read this blog post for more details.
What's the Catch?
Catch2 is a multi-paradigm test framework for C++. which also supports
Objective-C (and maybe C).
It is primarily distributed as a single header file, although certain
extensions may require additional headers.
How to use it
This documentation comprises these three parts:
More
Tests
      
      Examples
      
      Reviews
      
      Builds
      
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | aarch64-linux-gnu | 
            
              | tgt config | linux_debian_12-gcc_14-static_O3 | 
            
              | timestamp | 2025-10-30 22:14:53 UTC (01:22:10 hours ago) | 
            
              | result | success | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | aarch64-linux-gnu | 
            
              | tgt config | linux_debian_12-gcc_14-ndebug_O3 | 
            
              | timestamp | 2025-10-30 21:58:11 UTC (01:38:53 hours ago) | 
            
              | result | success | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | aarch64-linux-gnu | 
            
              | tgt config | linux_debian_12-gcc_14-O3 | 
            
              | timestamp | 2025-10-30 21:56:29 UTC (01:40:35 hours ago) | 
            
              | result | success | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-linux-gnu | 
            
              | tgt config | linux_debian_12-gcc_14-static_O3 | 
            
              | timestamp | 2025-10-30 16:55:16 UTC (06:41:47 hours ago) | 
            
              | result | success | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-linux-gnu | 
            
              | tgt config | linux_debian_12-gcc_14-O3 | 
            
              | timestamp | 2025-10-30 16:52:10 UTC (06:44:53 hours ago) | 
            
              | result | success | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-linux-gnu | 
            
              | tgt config | linux_debian_12-gcc_14-ndebug_O3 | 
            
              | timestamp | 2025-10-30 16:49:14 UTC (06:47:50 hours ago) | 
            
              | result | success | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-linux-gnu | 
            
              | tgt config | linux_debian_12-gcc_14 | 
            
              | timestamp | 2025-10-30 14:15:46 UTC (09:21:17 hours ago) | 
            
              | result | success | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-microsoft-win32-msvc14.3 | 
            
              | tgt config | windows_10-clang_18_llvm_msvc_17.10-static_O2 | 
            
              | timestamp | 2025-10-30 12:50:06 UTC (10:46:57 hours ago) | 
            
              | result | warning (test) | warning (test-installed) | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-microsoft-win32-msvc14.3 | 
            
              | tgt config | windows_10-clang_18_llvm_msvc_17.10-O2 | 
            
              | timestamp | 2025-10-30 12:49:28 UTC (10:47:35 hours ago) | 
            
              | result | warning (test) | warning (test-installed) | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-microsoft-win32-msvc14.3 | 
            
              | tgt config | windows_10-clang_18_llvm_msvc_17.10 | 
            
              | timestamp | 2025-10-30 12:41:12 UTC (10:55:51 hours ago) | 
            
              | result | warning (test) | warning (test-installed) | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-microsoft-win32-msvc14.3 | 
            
              | tgt config | windows_10-clang_17_msvc_msvc_17.10 | 
            
              | timestamp | 2025-10-30 12:32:36 UTC (11:04:28 hours ago) | 
            
              | result | warning (test) | warning (test-installed) | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-freebsd14.1 | 
            
              | tgt config | freebsd_14-clang_18-O3 | 
            
              | timestamp | 2025-10-30 12:31:47 UTC (11:05:16 hours ago) | 
            
              | result | warning (test) | warning (test-installed) | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-freebsd14.1 | 
            
              | tgt config | freebsd_14-clang_18-static_O3 | 
            
              | timestamp | 2025-10-30 12:26:13 UTC (11:10:50 hours ago) | 
            
              | result | warning (test) | warning (test-installed) | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-freebsd14.1 | 
            
              | tgt config | freebsd_14-clang_18 | 
            
              | timestamp | 2025-10-30 12:24:44 UTC (11:12:20 hours ago) | 
            
              | result | warning (test) | warning (test-installed) | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | aarch64-linux-gnu | 
            
              | tgt config | linux_debian_12-clang_18_libc++-static_O3 | 
            
              | timestamp | 2025-10-30 12:23:05 UTC (11:13:58 hours ago) | 
            
              | result | warning (test) | warning (test-installed) | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-freebsd13.3 | 
            
              | tgt config | freebsd_13-clang_17 | 
            
              | timestamp | 2025-10-30 12:18:45 UTC (11:18:18 hours ago) | 
            
              | result | warning (test) | warning (test-installed) | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | aarch64-linux-gnu | 
            
              | tgt config | linux_debian_12-clang_18_libc++-O3 | 
            
              | timestamp | 2025-10-30 12:18:41 UTC (11:18:23 hours ago) | 
            
              | result | warning (test) | warning (test-installed) | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-linux-gnu | 
            
              | tgt config | linux_debian_12-clang_17_libc++ | 
            
              | timestamp | 2025-10-30 12:18:15 UTC (11:18:48 hours ago) | 
            
              | result | warning (test) | warning (test-installed) | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | aarch64-linux-gnu | 
            
              | tgt config | linux_debian_12-clang_18-static_O3 | 
            
              | timestamp | 2025-10-30 12:16:36 UTC (11:20:28 hours ago) | 
            
              | result | warning (test) | warning (test-installed) | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | aarch64-linux-gnu | 
            
              | tgt config | linux_debian_12-clang_18-O3 | 
            
              | timestamp | 2025-10-30 12:15:32 UTC (11:21:32 hours ago) | 
            
              | result | warning (test) | warning (test-installed) | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | aarch64-linux-gnu | 
            
              | tgt config | linux_debian_12-clang_18_libc++ | 
            
              | timestamp | 2025-10-30 12:14:58 UTC (11:22:05 hours ago) | 
            
              | result | warning (test) | warning (test-installed) | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-linux-gnu | 
            
              | tgt config | linux_debian_12-clang_17 | 
            
              | timestamp | 2025-10-30 12:12:43 UTC (11:24:20 hours ago) | 
            
              | result | warning (test) | warning (test-installed) | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | aarch64-linux-gnu | 
            
              | tgt config | linux_debian_12-clang_18 | 
            
              | timestamp | 2025-10-30 12:12:38 UTC (11:24:25 hours ago) | 
            
              | result | warning (test) | warning (test-installed) | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | aarch64-linux-gnu | 
            
              | tgt config | linux_debian_12-clang_17_libc++ | 
            
              | timestamp | 2025-10-30 10:51:35 UTC (12:45:29 hours ago) | 
            
              | result | warning (test) | warning (test-installed) | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | aarch64-linux-gnu | 
            
              | tgt config | linux_debian_12-clang_17 | 
            
              | timestamp | 2025-10-30 10:42:21 UTC (12:54:42 hours ago) | 
            
              | result | warning (test) | warning (test-installed) | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-microsoft-win32-msvc14.3 | 
            
              | tgt config | windows_10-msvc_17.10-static_O2 | 
            
              | timestamp | 2025-10-30 07:25:30 UTC (16:11:34 hours ago) | 
            
              | result | success | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-microsoft-win32-msvc14.3 | 
            
              | tgt config | windows_10-msvc_17.10-O2 | 
            
              | timestamp | 2025-10-30 07:11:02 UTC (16:26:02 hours ago) | 
            
              | result | success | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-microsoft-win32-msvc14.3 | 
            
              | tgt config | windows_10-msvc_17.10 | 
            
              | timestamp | 2025-10-30 06:51:09 UTC (16:45:54 hours ago) | 
            
              | result | success | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-linux-gnu | 
            
              | tgt config | linux_debian_12-gcc_12-bindist | 
            
              | timestamp | 2025-10-30 04:14:22 UTC (19:22:42 hours ago) | 
            
              | result | success | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-w64-mingw32 | 
            
              | tgt config | windows_10-gcc_13.2_mingw_w64-static_O2 | 
            
              | timestamp | 2025-10-30 04:04:21 UTC (19:32:43 hours ago) | 
            
              | result | success | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | aarch64-linux-gnu | 
            
              | tgt config | linux_debian_12-gcc_14 | 
            
              | timestamp | 2025-10-30 03:59:22 UTC (19:37:41 hours ago) | 
            
              | result | success | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-w64-mingw32 | 
            
              | tgt config | windows_10-gcc_13.2_mingw_w64-O2 | 
            
              | timestamp | 2025-10-30 03:54:44 UTC (19:42:20 hours ago) | 
            
              | result | success | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-w64-mingw32 | 
            
              | tgt config | windows_10-gcc_13.2_mingw_w64 | 
            
              | timestamp | 2025-10-30 03:16:19 UTC (20:20:44 hours ago) | 
            
              | result | success | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-microsoft-win32-msvc14.3 | 
            
              | tgt config | windows_10-msvc_17.8-static_O2 | 
            
              | timestamp | 2025-10-30 02:56:35 UTC (20:40:28 hours ago) | 
            
              | result | success | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-linux-gnu | 
            
              | tgt config | linux_ubuntu_24.04-gcc_13-bindist | 
            
              | timestamp | 2025-10-30 02:51:15 UTC (20:45:48 hours ago) | 
            
              | result | success | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-microsoft-win32-msvc14.3 | 
            
              | tgt config | windows_10-msvc_17.8-O2 | 
            
              | timestamp | 2025-10-30 02:46:12 UTC (20:50:51 hours ago) | 
            
              | result | success | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-microsoft-win32-msvc14.3 | 
            
              | tgt config | windows_10-msvc_17.8 | 
            
              | timestamp | 2025-10-30 02:25:24 UTC (21:11:39 hours ago) | 
            
              | result | success | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-linux-gnu | 
            
              | tgt config | linux_debian_12-gcc_13.1 | 
            
              | timestamp | 2025-10-30 01:58:41 UTC (21:38:23 hours ago) | 
            
              | result | success | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | aarch64-linux-gnu | 
            
              | tgt config | linux_debian_12-gcc_13 | 
            
              | timestamp | 2025-10-29 13:02:17 UTC (01 10:34:47 days ago) | 
            
              | result | success | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-linux-gnu | 
            
              | tgt config | linux_fedora_40-gcc_14-bindist | 
            
              | timestamp | 2025-10-29 02:07:48 UTC (01 21:29:15 days ago) | 
            
              | result | success | log | rebuild | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-linux-gnu | 
            
              | tgt config | linux_debian_12-clang_18 | 
            
              | result | unbuilt | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-linux-gnu | 
            
              | tgt config | linux_debian_12-clang_18-O3 | 
            
              | result | unbuilt | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-linux-gnu | 
            
              | tgt config | linux_debian_12-clang_18-static_O3 | 
            
              | result | unbuilt | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-linux-gnu | 
            
              | tgt config | linux_debian_12-clang_18_libc++ | 
            
              | result | unbuilt | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-linux-gnu | 
            
              | tgt config | linux_debian_12-clang_18_libc++-O3 | 
            
              | result | unbuilt | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-linux-gnu | 
            
              | tgt config | linux_debian_12-clang_18_libc++-static_O3 | 
            
              | result | unbuilt | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-linux-gnu | 
            
              | tgt config | linux_fedora_39-gcc_13-bindist | 
            
              | result | unbuilt | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-apple-darwin22.5.0 | 
            
              | tgt config | macos_13-clang_15.0 | 
            
              | result | unbuilt | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-apple-darwin23.5.0 | 
            
              | tgt config | macos_14-clang_15.0 | 
            
              | result | unbuilt | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-apple-darwin23.5.0 | 
            
              | tgt config | macos_14-clang_15.0-O3 | 
            
              | result | unbuilt | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-apple-darwin23.5.0 | 
            
              | tgt config | macos_14-clang_15.0-static_O3 | 
            
              | result | unbuilt | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-apple-darwin23.5.0 | 
            
              | tgt config | macos_14-gcc_14_homebrew | 
            
              | result | unbuilt | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-apple-darwin23.5.0 | 
            
              | tgt config | macos_14-gcc_14_homebrew-O3 | 
            
              | result | unbuilt | 
          
        
        
          
            
              | toolchain | public-0.17.0 | 
            
              | target | x86_64-apple-darwin23.5.0 | 
            
              | tgt config | macos_14-gcc_14_homebrew-static_O3 | 
            
              | result | unbuilt |