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
2020-02-14Stockholm11 000 kr
2020-03-06Stockholm 11 000 kr
2020-03-27 Stockholm11 000 kr
2020-04-17 Stockholm11 000 kr
2020-05-08 Stockholm11 000 kr
2020-05-28 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.

Undervisningsspråk

Vårt tryckta kursmaterial är alltid författat på engelska. Den muntliga presentationen i våra klassrum är som regel på svenska, såvida inte samtliga deltagare samtycker till att vi genomför kursen på engelska.

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