Docs: Add mention of gtest_recreate_environments_when_repeating

This commit is contained in:
kaswhy 2024-01-23 21:39:40 +09:00
parent 778badf63a
commit 1cab76c7b8

View File

@ -1004,18 +1004,20 @@ calling the `::testing::AddGlobalTestEnvironment()` function:
Environment* AddGlobalTestEnvironment(Environment* env); Environment* AddGlobalTestEnvironment(Environment* env);
``` ```
Now, when RUN_ALL_TESTS() is invoked, it first calls the SetUp() method. Now, when `RUN_ALL_TESTS()` is invoked, it first calls the `SetUp()` method.
The tests are then executed, provided that none of the environments have reported The tests are then executed, provided that none of the environments have reported
fatal failures and GTEST_SKIP() has not been invoked. Finally, TearDown() is called. fatal failures and `GTEST_SKIP()` has not been invoked. Finally, `TearDown()` is called.
Note that SetUp() and TearDown() are only invoked if there is at least one test Note that `SetUp()` and `TearDown()` are only invoked if there is at least one test
to be performed. Importantly, TearDown() is executed even if the test itself to be performed. Importantly, `TearDown()` is executed even if the test is not
is not run due to exception handling (e.g., fatal failures or if GTEST_SKIP() is invoked). run due to a fatal failure or `GTEST_SKIP()`.
SetUp() and TearDown() are also called for each environment object when they are Calling `SetUp()` and `TearDown()` for each iteration depends on the
recreated for each iteration. However, if the test environments are not recreated `gtest_recreate_environments_when_repeating variable`. `SetUp()` and `TearDown()`
for each iteration, SetUp() is called only on the first iteration, and TearDown() are called for each environment object when they are recreated for each iteration.
is called only on the last iteration. However, if the test environments are not recreated for each iteration,
`SetUp()` is called only on the first iteration, and `TearDown()` is called only
on the last iteration.
It's OK to register multiple environment objects. In this suite, their `SetUp()` It's OK to register multiple environment objects. In this suite, their `SetUp()`
will be called in the order they are registered, and their `TearDown()` will be will be called in the order they are registered, and their `TearDown()` will be