mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-16 15:01:28 +00:00
Updated CMakeLists.txt to enable coverage. Updated instructions with howto for coverage and also a separate set of instructions how to run during a TDD cycle with coverage. |
||
|---|---|---|
| .. | ||
| lib | ||
| src | ||
| test | ||
| .gitignore | ||
| CMakeLists.txt | ||
| README.md | ||
C++ version of Gilded Rose refactoring kata
Introduction
The C++ version of the Gilded Rose refactoring kata is available in four variants using different test frameworks:
- Catch2 test framework
- Traditional unit test with the Catch2 test framework in the
test/cpp_catch2_unittestfolder. - Approval tests with the Catch2 test framework in the
test/cpp_catch2_approvaltestfolder.
- Traditional unit test with the Catch2 test framework in the
- Google Test framework
- Traditional unit test with the Googletest test framework in the
test/cpp_googletest_unittestfolder. - Approval tests with the Googletest test framework in the
test/cpp_googletest_approvaltestfolder.
- Traditional unit test with the Googletest test framework in the
The GildedRose.cc file, i.e. the code under test, is identical in all four variants.
Prerequisites
- CMake version >= 3.13
- C++ compiler that support C++11
How to build and run tests in a terminal
Build tests
$ cd ${GIT_FOLDER}/GildedRose-Refactoring-Kata/cpp
$ mkdir build
$ cd build
$ cmake ..
$ cmake --build .
Show available tests
$ cd ${GIT_FOLDER}/GildedRose-Refactoring-Kata/cpp/build
$ ctest -N
Test project ${GIT_FOLDER}/GildedRose-Refactoring-Kata/cpp/build
Test #1: GildedRoseCatch2ApprovalTests
Test #2: GildedRoseCatch2UnitTests
Test #3: GildedRoseGoogletestApprovalTests
Test #4: GildedRoseGoogletestUnitTests
Run all tests
$ ctest
Run all tests with verbose output
$ ctest -VV
Run a specific test with verbose output
$ ctest -VV --tests-regex Catch2Approval
How to run with test coverage
- go to build directory
- Run: $ lcov --directory ./ --capture --output-file ../lcov.info -rc lcov_branch_coverage=1
- in bottom right corner of VS Code press "Watch"
- Coverage will now be visible in VSCode.
How to run during a typical TDD cycle
$ cmake --build .
$ ctest -VV --tests-regex GildedRoseGoogletestUnitTests
$ lcov --directory ./ --capture --output-file ../lcov.info -rc lcov_branch_coverage=1
How to build and run tests using the CLion IDE
- Start CLion
- Select menu
File - Open... - Select folder
${GIT_FOLDER}/GildedRose-Refactoring-Kata/cpp - Select menu
Build - Build Project - Select menu
Run - Run... - Select what test variant to run, e.g.
GildedRoseCatch2ApprovalTests.
How to build and run tests using Visual Studio 2019
- Start Visual Studio 2019
- Select
Open a local folder - Select folder
${GIT_FOLDER}/GildedRose-Refactoring-Kata/cpp - Wait for message
CMake generation finished.in the CMake output window at the bottom - Select what test variant to run in the drop down menu for Startup Items, e.g.
GildedRoseCatch2ApprovalTests.exe. - Select menu
Debug - Start