Тестирование.
Написание тестов для функциональности на Python (если они уже не существуют; обычно тестируется код Python).
Перенос тестов на C ++.Затем заставьте свои функции C ++ проходить тесты.В идеале, сделайте тесты мишенью для вашего make-файла и запускайте их всякий раз, когда можете.
Редактировать:
Вы можете проверить произвольно, если это хорошая идеяили нет, может зависеть от вашего конкретного случая.Эмпирическое правило заключается в использовании пары каждого пограничного случая (вы можете использовать покрытие кода , чтобы увидеть, есть ли дело, которое вы пропустили).
Например, в своей работе я использую интеграционный тест, который требует много компонентов.Мы моделируем процесс ставок (весь процесс, кроме пользовательского интерфейса), в определенный момент времени, с жестко запрограммированным ответом сервера, и мы моделируем аппаратный принтер с перенаправлением на bmp.
Теперь вы можетеПротестируйте все .Я не могу проверить каждую действительную комбинацию чисел (6 чисел от 0 до 36?) В каждом возможном порядке.Также я не могу проверить каждую недопустимую комбинацию (бесконечную?).Вы тестируете пару.Значимые.
Так что мы даем ему всегда одни и те же цифры.Тест состоит в том, что он должен производить всегда один и тот же bmp (должен отображать одинаковые шрифты, должен иметь одинаковые тексты, одинаковую дату ставок и т. Д.).
Теперь, в зависимости от вашего кода и вашегоПриложение - это уровень автоматизации, который может иметь генерация этих тестов.
Я не знаю вашего конкретного случая, но я бы начал создавать небольшую программу (чем проще, тем лучше), которая использует вашу библиотеку.Одна реализация на Python, одна реализация на C ++.Например, если вы тестировали библиотеку строк, вы выполняете небольшую программу, которая удаляет букву внутри строки, добавляет текст, стирает все остальные буквы и т. Д.
Затем вы автоматизируете пару тестов.случаи:
cat largetext.txt | ./my_python_program > output.pyhthon_program.txt
cat largetext.txt | ./my_cpp_program > output.cpp_program.txt
diff output.pyhthon_program.txt output.cpp_program.txt || echo "ERROR"
В идеальном случае каждый раз, когда вы компилируете, запускаются тесты (это можно сделать, если код прост; если нет, вы можете провести тестирование в конце дня, так какпример).
Это не предоставление программ одинаковых (вы не можете проверить все возможные входные данные).Но дает вам некоторую уверенность.Если вы видите, что что-то не так, вы сначала добавляете это в свой тест, затем делаете его неудачным, затем исправляете его до тех пор, пока оно не достигнет .
С уважением.