Тестирование вашего кода C ++ с другого языка с использованием некоторых языковых привязок имеет некоторые последствия для того, как вы можете тестировать.
С тестами, написанными на C ++, ваш тестовый код будет ближе к реальному клиентскому коду.Это означает, что все специфичные для C ++ эффекты времени компиляции будут иметь место, например, расширение макроса, целочисленное продвижение аргументов, разрешение перегрузки, встраивание, создание шаблона и т. Д. И это будет происходить индивидуально для каждого отдельного теста, написанного на C ++, где вы вызываетеваша библиотека.
Напротив, при тестировании на другом языке вам придется привязывать функции / методы C ++ и т. д. к символам или любому другому языку (возможно, с промежуточными функциями-обертками).Компиляция этих языковых привязок является тогда единственной точкой, где имеют место все вышеупомянутые эффекты времени компиляции.
Являются ли эти последствия использования другого языка приемлемыми (или даже желательными) для вас или нет, зависит от вашего тестацели, и, таким образом, вам придется судить об этом.