+ All Categories
Home > Software > Василий Сорокин, “Google C++ Mocking and Test Frameworks”

Василий Сорокин, “Google C++ Mocking and Test Frameworks”

Date post: 14-Jul-2015
Category:
Upload: platonov-sergey
View: 566 times
Download: 10 times
Share this document with a friend
20
Введение в Google Test Framework и Google Mocking Framework Василий Сорокин Саратов 2014
Transcript
Page 1: Василий Сорокин, “Google C++ Mocking and Test Frameworks”

Введение в Google Test Framework и Google Mocking

Framework

Василий СорокинСаратов 2014

Page 2: Василий Сорокин, “Google C++ Mocking and Test Frameworks”

Введение

● Тесты вообще и модульные тесты в частности

● Простой пример теста

● Тест с фиксацией

● Параметризированный тест

● Mocking

● Пример mock

● Еще про mock

● Интеграция в проект

● Параметры запуска

Page 3: Василий Сорокин, “Google C++ Mocking and Test Frameworks”

О тестировании

● Техники тестирования

● Инструменты тестирования

● Инструменты Google

Page 4: Василий Сорокин, “Google C++ Mocking and Test Frameworks”

Простой тест

Page 5: Василий Сорокин, “Google C++ Mocking and Test Frameworks”

Простой тест

Page 6: Василий Сорокин, “Google C++ Mocking and Test Frameworks”

Простой тест

● Критические

– 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();

Page 7: Василий Сорокин, “Google C++ Mocking and Test Frameworks”

Test Fixture

Page 8: Василий Сорокин, “Google C++ Mocking and Test Frameworks”

Test Fixture

Page 9: Василий Сорокин, “Google C++ Mocking and Test Frameworks”

Fixture c параметрами

Page 10: Василий Сорокин, “Google C++ Mocking and Test Frameworks”

Fixture c параметрами

Page 11: Василий Сорокин, “Google C++ Mocking and Test Frameworks”

Fixture c параметрами

● testing::Values(...));

● testing::Range(begin, end[, step])

● testing::ValuesIn(container)

● testing::Bool()

Page 12: Василий Сорокин, “Google C++ Mocking and Test Frameworks”

На выходе

Page 13: Василий Сорокин, “Google C++ Mocking and Test Frameworks”

На выходе

Page 14: Василий Сорокин, “Google C++ Mocking and Test Frameworks”

Google Mocking

● Что такое Google Mocking Framework

● Отличие Mock классов от Fake классов

● Программирование с помощью интерфейсов

● final

Page 15: Василий Сорокин, “Google C++ Mocking and Test Frameworks”

Пример Mock

Page 16: Василий Сорокин, “Google C++ Mocking and Test Frameworks”

Пример Mock

Page 17: Василий Сорокин, “Google C++ Mocking and Test Frameworks”

Пример Mock

● .Times(cardinality)

● .WillOnce(action)

● .WillRepeatedly(action);

● Actions (Return, ReturnNull, ReturnNew, etc...)

● Matchers (_, Gt/Ge, Lt/Le, Ne, isNull, notNull)

● ::testing::InSequence;

Page 18: Василий Сорокин, “Google C++ Mocking and Test Frameworks”

Интеграция в проект

● Компиляция библиотек (Cуществует для всего)

● Проверка при сборке

● Собственный запускатель тестов

Page 19: Василий Сорокин, “Google C++ Mocking and Test Frameworks”

CI и Параметры

● Перемешивание --gtest_shuffle

● Расцветка --gtest_color=yes

● Фильтр и повторение

– --gtest_filter=Test.case, --gtest_repeat=n● XML репорт для CI --gtest_output=xml

Page 20: Василий Сорокин, “Google C++ Mocking and Test Frameworks”

Заключение / Вопросы

Спасибо

[email protected]


Recommended