Модульное тестирование статической библиотеки C ++ с использованием языка более высокого уровня? - PullRequest
0 голосов
/ 19 марта 2019

Я хочу написать несколько статических библиотек C ++ в стиле, управляемом тестами.

Я начал искать рамки модульных тестов C ++, но потом подумал, зачем мне вообще писать тестовый код на C ++.

Должна быть возможность вызывать статические библиотеки C ++ из языка более высокого уровня, где было бы легче писать тесты.

Разумная ли это мысль?

Есть ли какой-то конкретный язык, который делает это особенно простым? Будь то Python, Lua или что-то еще? Даже, может быть, специальный DSL для этого?

Какие-нибудь подсказки для хороших обучающих программ?

1 Ответ

0 голосов
/ 21 марта 2019

Тестирование вашего кода C ++ с другого языка с использованием некоторых языковых привязок имеет некоторые последствия для того, как вы можете тестировать.

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

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

Являются ли эти последствия использования другого языка приемлемыми (или даже желательными) для вас или нет, зависит от вашего тестацели, и, таким образом, вам придется судить об этом.

...