2009-10-18 3 views

ответ

3

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

Внешние модульные тесты, вы, как правило, хотите использовать некоторый вкус assert вместо этого.

+0

Спасибо, что ответ на этот вопрос я обновил. –

+0

То, что это означает, означает, что «платформа единичного тестирования работает». Означает ли это, что оно выровнено или что мы находимся в BOOST_AUTO_TEST_CASE? Что произойдет, если я вызову BOOST_CHECK_EQUAL вне BOOST_AUTO_TEST_CASE? (с привязкой или без рамки тестирования?) –

1

Если ответ «нет», то есть C++ библиотека, которая предоставит мне все макросы как CHECK_EQUAL, CHECK_CLOSE и т.д.?

Короткий ответ - нет. Более длинный ответ: эти макросы являются частью Boost.Test. Итак, если вы не используете Boost.Test, вам придется сворачивать самостоятельно.

+0

Я использую boost test. Первый вопрос заключается в том, не могу ли я использовать их вне модульного теста. –

+0

Импортируйте определения (например, скопируйте часть заголовков, которые определяют эти макросы в отдельном заголовке, и добавьте их в свой проект, вы не захотите, чтобы весь Boost.Test был отправлен вместе с вашим кодом.) – dirkgently

0

Это довольно просто написать эту функциональность на основе boost/assert или cassert.
Обратите внимание, что для утверждений могут потребоваться некоторые определения (например, DEBUG)