Я ищу разумный подход для тестирования программного обеспечения на основе шаблонов на C++, где я хочу проверить аргументы шаблона. Если аргумент не соответствует определенным критериям, я хочу, чтобы компилятор выдал ошибку. До сих пор так хорошо ...Лучшая практика с использованием теста повышения и тестов, которые не должны компилироваться
Теперь я хочу проверить, что недопустимые параметры шаблона действительно отменены компилятором. Я мог бы установить один тестовый сценарий и поиграть в систему сборки (cmake), которая пытается скомпилировать сценарий, но это звучит очень болезненно. Я думаю, что я не первый, кто пытается это решить. Примерно 10 лет назад я использовал подход, в котором я использовал один файл для нескольких тестов и включил один тест с препроцессором. Но это тоже не очень элегантно.
Любые предложения по тому, как это решить (лучше всего в моем текущем наборе инструментов: C++, cmake, boost-test, bash, python)?