Did you ever consider the online documentation (or portions of github) MIGHT be outdated? That happens often enough to be a PITA.
The local installed documentation, tutorial.md, doesn't mention that catch_test_macros.hpp header.
There's a downloads folder for vcpkg that contains the source files for any installed packages.
The first test example in the tutorial is 010-TestCase.cpp. Find it in the in the catchorg-Catch2-v2.13.8.tar.gz in the downloads folder and what's the #include used in that source?
#include <catch2/catch.hpp>
The offline .md tutorial installed with vcpkg mentions what header to use, and it ain't catch_test_macros.hpp.
When in doubt look to the installed offline documentation before assuming something is in error.
As it turns out vcpkg pulls its library package from a different location of the github:
https://github.com/catchorg/Catch2/releases
Another reason to learn to be flexible and be curious enough to go LOOK "outside the box."
I was able to get the downloaded 010-TestCase.cpp example code to compile and run without a hitch.
Because I didn't just throw-up my hands and surrender.
Well, the test cases and asserts had some failures when executed, but that was expected.
I learned all this COLD. I had never heard of Catch2 before, and hadn't been very successful in getting vcpkg to work in the past.
But I didn't give up, any road-block thrown up I kept looking around for possible alternate solutions.
Which yielded success.