Sökresultat för

Kurs om
Catch2 - Testning i C++

Catch2 är vår egna favorit vad gäller enhetstester för C++ program. Det går enkelt att skriva testfall i given/when/then stil.

1 dag Intermediate C++ Test
Catch2 - Testning i C++

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 Catch2 för att skriva genomtänkta enhetstester.

Catch2 är vår egna favorit vad gäller enhetstester för C++ program. Skälet är flera; Det är header-only vilket innebär bara en fil att ladda ned. Det går enkelt att skriva testfall i given/when/then stil. Det går enkelt att nästla test funktioner, vilket på ett elegant sätt eliminerar behovet av test fixture klasser, vilket finns i många andra test ramverk.

Detta får du lära dig på kursen

Här är ett sammandrag i punktform av vad du får lära dig på kursen. Eftersom kursmaterialet är författat på engelska, så återger vi sammandraget också på engelska.

  • Install and configure Catch2
  • Write effective device tests
  • Handle test data in nested test cases
  • Be able to formulate test conditions and output comparators
  • Write parameterized tests

Kursfakta

Här finner du alla detaljer om kursen.

  • Kursnamn

    Catch2 - Testning i C++
    Catch2 - Unit Testing in Modern C++ (eng.)
  • Varaktighet

    1 dag
  • Nivå

    Intermediate
  • Målgrupp

    C++ programmerare
  • Förkunskapskrav

    Vana att programmera i C++
  • Program & Verktyg

    • GNU C++ Compiler
    • Jetbrains CLion
    • Ubuntu Linux
  • Publicerad

    1 januari 2010

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 of Catch2

  • Catch2 at GitHub
  • Download the header-only library
  • How to automatically download and configuration using CMake
  • Configuration of CLion to run Catch2

Writing a Test Function

  • Including Catch
  • Defining a test runner
  • Structure of a test function
  • Usage of REQUIRE()
  • Analyzing a failed test

Assertions

  • REQUIRE vs. CHECK macros
  • Dealing with floating-point comparisons
  • Asserting exceptions
  • Logging

Matchers

  • What is a matcher?
  • Using REQUIRE_THAT()
  • String matchers
  • Vector matchers
  • Floating-point matchers
  • Predicate lambda matchers
  • User-defined matchers

Test Fixtures

  • Defining a test function with nested SECTION blocks
  • Defining test data (fixture)
  • How nested test cases are executed and handed test data
  • Tagged test cases
  • Special tags

Scenarios and BDD-Style Test Cases

  • Defining a SCENARIO
  • Defining a test case using GIVEN / WHEN / THEN
  • Conjunctions

Parameterized Tests

  • Defining a TEMPLATE_TEST_CASE
  • Type-parameterized tests
  • Test-data generators
  • Value generators
  • Predicate-based generators
  • Random value generators
  • User-defined generators

Micro Benchmarks

  • What is a benchmark?
  • Enable benchmarking
  • Defining a BENCHMARK

Configuration

  • Writing your own main() function
  • Command-line options
  • Invoking the test runner
  • Compile-time configuration properties
  • Command-line options
  • Log reporters
  • CMake integration

Här ser du vilka kursdatum som är tillgängliga. Klicka på en av datumknapparna för att anmäla dig till ett kurstillfälle. På kursen pratar läraren svenska, medan vårt kursmaterial alltid är författat på engelska.

Missa inte vår samfaktureringsrabatt! Är ni fler personer från samma företag/organisation som går på samma kurs, rabatteras tillkommande personer med 25%. Ni anmäler er till kursen en och en, men uppger samma företag, så ordnar vi resten. Samtliga deltagare från samma företag ingår på samma faktura, den första till fullt pris och resterande till rabatterat pris.

Klassrumskurs

Datum för klassrumskurser

Du sitter bekvämt i ett av våra klassrum. I priset ingår tryckt kursmaterial, samt kaffe/te med smörgås på förmiddagen och kaffe/te med bulle på eftermiddagen.

Pris: 10 000 kr + moms

Hoppsan då 😳
Just nu finns det inga datum tillgängliga. Titta förbi om några dagar eller kontakta oss och be oss lägga upp fler kursdatum.

Fjärrkurs

Datum för fjärrkurser

Du sitter bekvämt framför datorn och deltar i kursen via internet. Vi använder programvaran Zoom för alla våra fjärrkurser. I priset ingår kursmaterial som PDF.

Pris: 6 000 kr + moms

Background

Catch2

1 dag

Kursen vänder sig till c++ programmerare och utgår från att deltagarna har vana att programmera i c++.

Företagsanpassad kurs

Företagsanpassad kurs

Om ni är tre eller fler personer från samma företag eller organisation, kan ni beställa en företagsanpassad kurs. Då håller vi kursen på ett datum som passar er. Antingen på plats i era lokaler eller som en fjärrkurs. Vi kan också hålla den muntliga framställningen på engelska.

Kontakta oss för en offert

Företagsanpassad Kurs

Jens Riboe

Jens Riboe

Senior/Expert Software Developer

5.0 Instructor/Author Rating

50+
Courses Authored
1000+
Students Lectured
40+
Years Experience

Jag har programmerat sedan början på 1980-talet i en stor mängd olika programspråk och på olika plattformar. Har jobbat på både stora och små företag, både etablerade och startups, samt både inom och utom Sverige. Att skriva (elegant) programkod är det bästa jag vet. Denna erfarenhet och passion är den centrala komponenten i våra kurser. Något som gör oss unika på marknaden och att våra kunder återkommer år efter år för nya och fördjupade kunskaper.

View LinkedIn Profile

Relaterade Kurser

Background

CMake

CMake

CMake

Kurs om hur du bygger C/C++ applikationer och bibliotek med byggverktyget CMake

Background

Google Test i C++

GTest

Google Test i C++

Kurs om hur du skriver enhetstest i C++ med Google Test (gtest)

Background

C++ grundkurs

C++ gk

C++ grundkurs

Kurs om hur du snabbt kommer igång att programmera i Modern C++

Background

C++ Templates

Templates++

C++ Templates

Kurs om C++ templates, allt du kan tänkas vilja veta om detta intressanta och för C++ helt vitala teknikområde.