Здравствуйте, tarkil, Вы писали:
T>Приветствую!
T>Юнит-тесты это куль и руль и вообще удобное средство. Но фишка в том, что обычно тест заключается в последовательном выполнении некоторого кода и контроля за тем, что получаемые результаты, состояния объектов и вылетаемые исключения соответствуют ожидаемым.
T>Но при разработке библиотеки есть ещё одно важное требование: чтобы некоторые конструкции не компилировались или выдавали предупреждение компиляции (защита от неправильного использования). Есть идеи как это проверить?
T>Язык C++, но приветствуются любые соображения.
Первое что приходит в голову — это следующее.
Unit test может генерить тестовый файл (cpp?) и запускать компиляцию файла.
Затем можно проверять, что компиляция прошла с ожидаемой тобой ошибкой компиляции.
Тестовые файлы, которые не должны компилироваться,
можно вообще подготовить заранее и расматривать их
просто как входные данные для твоих тестов.