У всех трёх фреймворков разные методы расширения. Если работать со специальными технологиями (типа Spring, Kafka, Reactive) - то существуют уже написанные расширения, которые помогают легче и эффективнее тестировать данную технологию. И тогда, если для условного Kafka - написаны расширения для JUnit4, но нет для TestNG и JUnit5 - то нечего думать, надо брать JUnit4