Это - излишество для выполнения модульного теста с Valgrind?

33
задан sth 13 April 2014 в 12:53
поделиться

2 ответа

Мы, конечно, делаем - намного легче выполнить valgrind против модульных тестов, чем с полной программой.

Также любые ошибки памяти локализуются к области кода, который тестирует модульный тест, который помогает зафиксировать.

Плюс проверка, что Вы зафиксировали его, легче - потому что Вы выполняете модульный тест не более сложный тест против Вашей полной программы.

при выполнении valgrind автоматизированным способом, Вы, вероятно, хотите --error-exitcode=<number> [default: 0]

, Указывает альтернативный код выхода, чтобы возвратиться, если Valgrind сообщил о каких-либо ошибках в выполнении. Когда установлено на значение по умолчанию (нуль), возвращаемое значение от Valgrind всегда будет возвращаемым значением моделируемого процесса. Когда установлено на ненулевое значение, то значение возвращено вместо этого, если Valgrind обнаруживает какие-либо ошибки. Это полезно для использования Valgrind как часть автоматизированного набора тестов, так как это помогает обнаружить тестовые сценарии, для которых Valgrind сообщил об ошибках, только путем осмотра кодов возврата.

http://valgrind.org/docs/manual/manual-core.html#manual-core.erropts

53
ответ дан 27 November 2019 в 18:11
поделиться

Как Douglas Leeder сказал, определенно стоит выполнить Ваши модульные тесты с любым диагностическим программным обеспечением, что можно положить руки, которые гарантируют, что это действительно работает, как Вы ожидаете. Это включает память не злоупотребления, таким образом использование valgrind является хорошей идеей.

Вы действительно хотите, чтобы Ваши модульные тесты доказали, что Ваш код работает.

Вы не должны выполнять их под valgrind все время - но это должно быть максимально тривиально, чтобы сделать так, и необходимо сделать так периодически (скажите после больших изменений).

10
ответ дан 27 November 2019 в 18:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: