Catch2 is transitioning to a 3.0 release, and the changes break compatibility with Qt's Test integration. Specifically, the current implementation searches for an inclusion of "catch.hpp" for test detection here:
In the 3.0 branch (now the default branch), the headers have been split to help Catch2 compile times. As a result, the catch.hpp header no longer exists in that branch. This has been replaced with several other possible headers: "catch2/catch_all.hpp", "catch2/catch_test_macros.hpp", and "catch2/catch_template_test_macros.hpp"
I suggest replacing the search on the line I linked above with a search for any of catch.hpp (for backward compatibility), catch_all.hpp, catch_test_macros.hpp, and catch_template_test_macros.hpp.
P.S.: For others that may crave a workaround in the meantime: you can force the current version to work with a minor kludge: make a symlink named catch.hpp pointing to catch_all.hpp, and then include that in your test source. It's not pretty, but it gets Qt to detect it until the above is implemented.