Есть ли способ для googletest генерировать номера строк вызывающих абонентов для утверждений в вызываемой функции? - PullRequest
1 голос
/ 08 июля 2019

Я пишу некоторые модульные тесты в проекте C ++ 14, где я часто хочу проверять большое количество инвариантов. Естественный способ сделать это - создать метод:

void validateState(const Model& model, int offset) {
    ASSERT_EQ(model.ax * model.bx, model.cx * offset);
    ASSERT_NE(model.base, offset);
    ...
}

Проблема в том, что если эти утверждения не пройдены, я получу номер строки метода. Есть ли способ заставить googletest напечатать номер строки вызывающего абонента и конкретное утверждение, которое не удалось?

1 Ответ

0 голосов
/ 09 июля 2019

Да, есть встроенный способ: SCOPED_TRACE (см. https://github.com/google/googletest/blob/master/googletest/docs/advanced.md) делает именно то, что вы хотите.

...