Skip to content

Latest commit

 

History

History
78 lines (53 loc) · 3.32 KB

presentation_catch.md

File metadata and controls

78 lines (53 loc) · 3.32 KB

Testowanie

Framework Catch2

Coders School

Przydatne asercje

  • REQUIRE( expression )
  • CHECK( expression )
  • REQUIRE_FALSE( expression )
  • CHECK_FALSE( expression )
  • REQUIRE_NOTHROW( expression )
  • CHECK_NOTHROW( expression )
  • REQUIRE_THROWS_AS( expression, exception type )
  • CHECK_THROWS_AS( expression, exception type )
  • REQUIRE_THAT( lhs, matcher expression )
  • CHECK_THAT( lhs, matcher expression )

Przydatne matchery

  • String matchers
    • StartsWith
    • EndsWith
    • Contains
    • Equals
    • Matches
  • Vector matchers
    • Contains which checks whether a specified vector is present in the result
    • VectorContains which checks whether a specified element is present in the result
    • Equals which checks whether the result is exactly equal (order matters) to a specific vector
    • UnorderedEquals which checks whether the result is equal to a specific vector under a permutation

Zadanie

Przetestuj algorytm std::sort().

W tym zadaniu ważne jest pokrycie jak największej liczby scenariuszy tego algorytmu.


Organizacja testów

  • TEST_CASE( test name [, tags ] )
  • SECTION( section name )

Lub

  • SCENARIO( scenario name [, tags ] )
  • GIVEN( something )
  • WHEN( something )
  • THEN( something )

Gdzie SCENARIO mapuje się na TEST_CASE, natomiast GIVEN, WHEN i THEN na SECTION.


Generatory

Dzięki generatorom danych jeden scenariusz testowy może zostać uruchomiony na różnych danych testowych.

Link do dokumentacji