Используйте ASSERT
, когда условие должно выполняться - если это не так, тест сразу останавливается. Используйте это, когда остаток теста не имеет семантического значения без выполнения этого условия.
Используйте EXPECT
, когда условие должно выполняться, но в тех случаях, когда это не так, мы все равно можем получить значение, продолжив тестирование. (В конце концов, тест все равно будет неудачным.)
Практическое правило: используйте EXPECT
по умолчанию, если только не требуется что-то для хранения до конца тестов, в этом случае вы должны использовать ASSERT
для этого конкретного условия. 1015 *
Это отражено в учебнике :
Обычно EXPECT_*
предпочтительнее, так как они позволяют сообщать о нескольких сбоях в тесте. Тем не менее, вы должны использовать ASSERT_*
, если не имеет смысла продолжать, когда рассматриваемое утверждение не выполняется.