mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2025-12-12 12:22:12 +00:00
* Rename the library under test from src to GildedRoseLib. * Move the lib folder to test/third_party and handle ApprovalTests.hpp as header-only dependency. * Remove the superfluous googletest_approval_main.cpp (in the same sense as there is only one GildedRoseCatch2ApprovalTests.cc) * Set USE_FOLDERS property such that target ALL_BUILD, RUN_TESTS and ZERO_CHECK are grouped for Visual Studio. * Set WORKING_DIRECTORY such that the RUN_TESTS target works successfully. * Fix C++ language standard for Catch2 v3 to C++14. * Bump third-party dependencies * Update ApprovalTests.hpp to v10.13.0 * Update Catch2 to v3.8.0 * Update GTest to v1.16.0
2.5 KiB
2.5 KiB
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 supports C++14
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 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