Я хочу провести модульное тестирование функции C ++, которая выдает ошибку подтверждения при неверном вводе.
Функция выглядит следующим образом:
uint64_t FooBar::ReadTimeStamp(std::string& name) {
auto iter = hash_table_.find(name);
assert(iter != hash_table_.end());
....
}
В модульном тесте я использую CPPUNIT_ASSERT_ASSERTION_FAIL
для подтверждения ошибки подтверждения:
void FooBarTest::
TestReadNonexistentTimestamp() {
CPPUNIT_ASSERT_ASSERTION_FAIL(ReadTimestamp("NON_EXISTENT"));
}
Но я получил сообщение об отмене и модульный тест не пройден.
Я прочитал эту страницу . Мне не ясно, нужно ли мне выдавать исключение здесь и каков будет правильный путь для модульного тестирования в этом сценарии. Спасибо!