Испытайте все, что может разрушить --XP Максимум
Испытание принятия делает клиента удовлетворенным тем, что программное обеспечение обеспечивает бизнес-ценность, которая делает его готовым заплатить за него. Блок-тест убеждает программиста в том, что программное обеспечение делает то, что программист считает -XP-максима
Что вам нужно сделать, когда вы начнете работать над новой библиотекой/классом/программой? Это верно - вам нужно начать с модуля тестирования единицы (надеюсь, вы все дали этот ответ!). Иногда вы можете уйти с простым тестом, реализованным с использованием assert
s, но любой профессиональный разработчик вскоре находит этот подход недостающим. Стало ясно, что это слишком много времени и утомительно для простых, но повторяющихся задач тестирования единицы, и это слишком негибкая для большинства нетривиальных.
Погром. Испытательная библиотека предоставляет как простой в использовании, так и гибкий набор интерфейсов для написания тестовых программ, организуя тесты на простые тестовые случаи и тестовые наборы, а также контролируя их выполнение. Некоторые из бустов. Интерфейсы тестирования также полезны в производственных (не тестируемых) средах.
Вот как выглядит минимальная программа тестирования одного файла:
#define BOOST_TEST_MODULE
My Test
#include <boost/test/included/unit_test.hpp>
BOOST_AUTO_TEST_CASE
(first_test)
{
int i = 1;
BOOST_TEST
(i);
BOOST_TEST
(i == 2);
}

|
Macro BOOST_TEST_MODULE определяет название нашей программы, которая будет использоваться в сообщениях. |

|
Это включает в себя все Unit Test Framework в «едином режиме заголовка»; он даже определяет функцию main , которая будет называть впоследствии определенные тестовые случаи. |

|
Macro BOOST_AUTO_TEST_CASE декларирует испытательный случай, названный первое_испытание , который, в свою очередь, запустит содержание первое_испытание внутри контролируемой среды тестирования. |

|
Этот тест проверяет, является ли i ненулевой. |

|
Этот тест проверяет, имеет ли i значение 2 (что-то большее, чем просто оценка оператора равенства). |
При запуске он производит следующий вывод:
Running 1 test case...
test_file.cpp(8): error: in "first_test": check i == 2 has failed [1 != 2]
*** 1 failure is detected in the test module "My Test"