Kurs i Enhetstestning med C++ och Google Test

Kurs i att skriva C++ enhetstest med Google Test

Skriv inte en rad produktionskod utan att ha ett tillhörande enhets-test. I denna kurs går vi rakt på sak och lär dig hur du använder Google Test för att skriva genomtänkta enhetstester.
Detta får du lära dig
  • Kompilera och installera både Google Test
  • Skriva unit test functions
  • Designa testklasser med fixtures
  • Konfigurera och köra test direkt i JetBrains CLion
  • Generera XML utdata för vidare generering av HTML rapporter i Jenkins
Kursinnehåll

Unit Testing and TDD

  • Type of tests
  • What is a unit test
  • Write F.I.R.S.T. tests
  • Structure of a unit test
  • Given-when-then style
  • What is test driven development (TDD)

Installation and Compilation of Google Test

  • GTest at GitHub
  • Download and building gtest explictly
  • Downloading and building automatically using CMake
  • Configuration of CLion to run gtest

Writing Test Functions

  • Using the gtest test driver
  • Writing a TEST() function
  • Failing a test
  • Expectations vs. assertions
  • Relational checks
  • Checking strings and native strings
  • Checking for thrown exceptions
  • Checking floating-point results

Test Fixtures

  • Test life-cycle
  • Defning a fixture class
  • Setup and teardown operations
  • Handling fixture data

Parameterized Tests

  • Setting up a value-parameterized test
  • Parameter value generators
  • Setting up type-parameterized test
  • Different ways to instantiate parameterized tests
  • Type fixtures

Death Tests

  • Checking for abnormal program termination
  • Death test checks
  • Death test predicates
  • Checking for non-zero exit code
  • Checking for raised signals such as SIGSEGV or SIGFPE

Command-Line Usage

  • Running gtest on the command-line or inside a shell script
  • Selection a sub-set of the tests to run
  • Sample test filters
  • Repeated tests
  • Disabling selected tests
  • Generating XML output for further post-processing

Life-Cycle Methods

  • Runing code before and after test each test-function
  • Runing code before and after test each test-group
  • Runing code before and after test each test-suite

Mock Objects

  • How to deal with dependent object that is not the target for a test
  • Using fake objects
  • What is a mock object
  • Setting up Google Mock (gmock)
  • Setting up a test using mock objects

Overview of Other Test Frameworks

  • Google Benchmark
  • Catch2
  • Doctest
  • CppUnit
SnabbFakta
Namn Enhetstestning med C++ och Google Test
Längd1 Dagar
NivåIntermediate
Målgrupp Erfarna C++ programmerare
FörkunskaperKännedom om Modern C++
Verktyg
  • GCC/G++ compiler, version 8 or later
  • Jetbrains CLion IDE
  • Ubuntu Linux @ VirtualBox or WLS @ Windows-10
KursDatum
DatumPlatsPris
2019-08-09Stockholm11 000 kr
2019-09-06Stockholm 11 000 kr
2019-10-11 Stockholm11 000 kr
2019-11-08 Stockholm11 000 kr
2019-12-06 Stockholm11 000 kr

Samma-Företags Rabatt

Vi ger 20% rabatt för tillkommande deltagare från samma företag vid samma kurs-tillfälle. Läs mer här.

Företagsintern Kurs

Om du beställer en företagsintern kurs kommer vi till er och håller kursen i era lokaler. Priset bestäms av vår prismodell och baseras på antalet kursdagar, antalet deltagare, samt i förekommande fall resa och logi.

Läs mer om vår prismodell och beställningsvillkor här.

Relaterade Kurser
KursDagarNivå
Modern C++ Fördjupning3IntermediateVisa
C++ Programmering med Trådar3Advanced Visa
Linux Systemprogrammering i C++3AdvancedVisa
C++ 11/14/17 för C++ Programmerare3IntermediateVisa