Когда ты хочешь протестировать объект, ты пишешь для него тест.
TEST( TestStaticString, GetChar )
{
using TestString = Black::StaticString<'A', 'B', 'C'>;
EXPECT_EQ( 'A', TestString::GetChar( 0 ) );
EXPECT_EQ( 'B', TestString::GetChar( 1 ) );
EXPECT_EQ( 'C', TestString::GetChar( 2 ) );
}
Слово
TEST
- это макрос, раскрывающийся в специальную обвязку твоего теста. Его первый параметр - это имя тестового кейса, второй - имя теста.
Инициализацию тестируемого объекта ты делаешь сам.
Проверки теста производятся с помощью макросов
EXPECT_*
и
ASSERT_*
.
Expect не останавливает тест в случае провала, а assert - останавливает. Таким образом можно разделять проверки в тесте на критические (после такой ошибки тест незачем продолжать) и обособленные (тест можно продолжать и получить множество обособленных ошибок).
За деталями можно обратиться к
примеру из самих гуглотестов.
Твой класс
VectorTest
- это фикстура тестов. Применять ее к своим тестам ты можешь с помощью макроса
TEST_F
. Прочитать про это
можно тут.
Фикстуры нужны тогда, когда для группы твоих тестов запуск и остановка являются одинаковыми. В этом случае инициализацию и финализацию тестируемого объекта стоит делать в фикстуре.