C++:
Tests Schrijven

Hoe:

Laten we een eenvoudige C++ functie en een test met het Catch2 framework gebruiken.

// main.cpp
#define CATCH_CONFIG_MAIN  // Laat Catch main() voorzien.
#include <catch2/catch.hpp>

int Add(int a, int b) {
    return a + b;
}

TEST_CASE( "Optellen werkt", "[wiskunde]" ) {
    REQUIRE( Add(2, 2) == 4 );
}

Compileer met g++ -std=c++17 main.cpp -o test -lcatch2 en voer uit met ./test. Voorbeelduitvoer:

Alle tests geslaagd (1 bewering in 1 testgeval)

Diepgaande Duik

Testen was niet altijd de norm. In de jaren ‘70 was het handmatig. Nu zijn geautomatiseerde tests essentieel in agile en TDD (Test-Driven Development). Alternatieven voor Catch2? Google Test, Boost.Test, en CppUnit, elk met unieke kenmerken. Onthoud: tests beoordelen of code aan de vereisten voldoet, niet of die vereisten correct zijn - dat is een specificatiekwestie.

Zie Ook