Модульное тестирование кода C ++ с использованием Java - PullRequest
5 голосов
/ 14 декабря 2011

Я унаследовал огромную кодовую базу c ++ с некоторыми интеграционными тестами. Это критическая система, которая подает данные во многие последующие системы. Поскольку тесты очень ненадежны, наша команда не может уверенно продвигать изменения.

Мы хотим ввести некоторые тесты в систему, но большинство разработчиков имеют опыт работы с Java. Какие у нас есть варианты?

1) Изучите C ++

2) Используйте JNI: не уверен, насколько это просто

Ответы [ 2 ]

2 голосов
/ 14 декабря 2011

Использование JNI добавляет еще один уровень сложности, и все же вы изучите C ++ - я бы не советовал, если вы не хотите использовать C ++.

В зависимости от того, что такое C ++Система позволяет выбирать различные стратегии тестирования.По моему опыту у меня была система, которая отвечала за обработку данных, и все данные были отправлены через сеть.В этом случае тесты были выполнены в python:

  1. мы проверили протокол
  2. мы проверили достоверность обработанных данных с определенным вводом (также контролируемым в python)

Мой случай был удачным, поскольку общение осуществлялось через сетевое соединение (мы могли буквально использовать любой язык, который хотели).

Если вы не можете использовать что-либо еще, кроме C ++, я думаю, вам придетсясделать это в C ++ (а не в Java + JNI + C ++).

0 голосов
/ 14 декабря 2011

Я бы посоветовал вам попробовать JNA , который не требует написания кода на C или C ++. Это медленнее, чем JNI, но для тестов это вряд ли имеет значение.

...