Add section about subcases to the unit testing guide

This commit is contained in:
Hendrik Brucker
2024-08-02 20:51:38 +02:00
parent 6842f41914
commit 012805ba82

View File

@@ -152,6 +152,26 @@ common test data for each test, or writing parameterized tests.
Godot supports writing tests per C++ module. For instructions on how to write
module tests, refer to :ref:`doc_custom_module_unit_tests`.
Subcases
~~~~~~~~
In situations where you have a common setup for several test cases with only slight variations, subcases can be very helpful. Here's an example:
.. code-block:: cpp
TEST_CASE("[SceneTree][Node] Testing node operations with a very simple scene tree") {
// ... common setup (e.g. creating a scene tree with a few nodes)
SUBCASE("Move node to specific index") {
// ... setup and checks for moving a node
}
SUBCASE("Remove node at specific index") {
// ... setup and checks for removing a node
}
}
Each ``SUBCASE`` causes the ``TEST_CASE`` to be executed from the beginning.
Subcases can be nested to an arbitrary depth, but it is advised to limit nesting to no more than one level deep.
Assertions
~~~~~~~~~~