| // 020-TestCase-1.cpp |
| |
| // In a Catch project with multiple files, dedicate one file to compile the |
| // source code of Catch itself and reuse the resulting object file for linking. |
| |
| // Let Catch provide main(): |
| #define CATCH_CONFIG_MAIN |
| |
| #include <catch2/catch.hpp> |
| |
| TEST_CASE( "1: All test cases reside in other .cpp files (empty)", "[multi-file:1]" ) { |
| } |
| |
| // ^^^ |
| // Normally no TEST_CASEs in this file. |
| // Here just to show there are two source files via option --list-tests. |
| |
| // Compile & run: |
| // - g++ -std=c++11 -Wall -I$(CATCH_SINGLE_INCLUDE) -c 020-TestCase-1.cpp |
| // - g++ -std=c++11 -Wall -I$(CATCH_SINGLE_INCLUDE) -o 020-TestCase TestCase-1.o 020-TestCase-2.cpp && 020-TestCase --success |
| // |
| // - cl -EHsc -I%CATCH_SINGLE_INCLUDE% -c 020-TestCase-1.cpp |
| // - cl -EHsc -I%CATCH_SINGLE_INCLUDE% -Fe020-TestCase.exe 020-TestCase-1.obj 020-TestCase-2.cpp && 020-TestCase --success |
| |
| // Expected test case listing: |
| // |
| // prompt> 020-TestCase --list-tests * |
| // Matching test cases: |
| // 1: All test cases reside in other .cpp files (empty) |
| // [multi-file:1] |
| // 2: Factorial of 0 is computed (fail) |
| // [multi-file:2] |
| // 2: Factorials of 1 and higher are computed (pass) |
| // [multi-file:2] |
| // 3 matching test cases |