Любую систему тестирования. Разницы никакой, поскольку тестируется
конечный выполняемый бинарный код полученный из шаблона. Сами по
себе шаблоны смысла тестировать нет. (Ржака: В коде шаблонов запросто могла быть синтаксическая ошибка. Пока шаблон не инстанцировался, один из компилеров, кажется MSVC, полностью пропускал текст шаблона не проверяя синтаксис. А вот с GCC такое не прокатывало, он синтаксис чекал в любом случае. Или наоборот, я уже не помню дела давно минувших дней).
Тестируется то, что получается из шаблонов, задаются параметры, сранивается с тем что epxtected. Отмечается прошел тест, да/нет.