Date post: | 14-Jul-2015 |
Category: |
Software |
Upload: | platonov-sergey |
View: | 566 times |
Download: | 10 times |
Введение в Google Test Framework и Google Mocking
Framework
Василий СорокинСаратов 2014
Введение
● Тесты вообще и модульные тесты в частности
● Простой пример теста
● Тест с фиксацией
● Параметризированный тест
● Mocking
● Пример mock
● Еще про mock
● Интеграция в проект
● Параметры запуска
О тестировании
● Техники тестирования
● Инструменты тестирования
● Инструменты Google
Простой тест
Простой тест
Простой тест
● Критические
– ASSERT_TRUE(condition); //_FALSE
– ASSERT_EQ(expected, actual); // _NE
– ASSERT_LT(val1, val2); //_GT, _LE, _GE
– ASSERT_DOUBLE_EQ(expected, actual);
– ASSERT_THROW(statement, exception_type)● Некритические
– EXEPT_*● Безусловные
– SUCCEED();
– FAIL();
Test Fixture
Test Fixture
Fixture c параметрами
Fixture c параметрами
●
Fixture c параметрами
● testing::Values(...));
● testing::Range(begin, end[, step])
● testing::ValuesIn(container)
● testing::Bool()
На выходе
На выходе
Google Mocking
● Что такое Google Mocking Framework
● Отличие Mock классов от Fake классов
● Программирование с помощью интерфейсов
● final
Пример Mock
Пример Mock
Пример Mock
● .Times(cardinality)
● .WillOnce(action)
● .WillRepeatedly(action);
● Actions (Return, ReturnNull, ReturnNew, etc...)
● Matchers (_, Gt/Ge, Lt/Le, Ne, isNull, notNull)
● ::testing::InSequence;
Интеграция в проект
● Компиляция библиотек (Cуществует для всего)
● Проверка при сборке
● Собственный запускатель тестов
CI и Параметры
● Перемешивание --gtest_shuffle
● Расцветка --gtest_color=yes
● Фильтр и повторение
– --gtest_filter=Test.case, --gtest_repeat=n● XML репорт для CI --gtest_output=xml