From dda72ef32181edbfcd32a8c52b4740cd8061ab6f Mon Sep 17 00:00:00 2001 From: kaswhy Date: Fri, 29 Dec 2023 02:05:18 +0900 Subject: Docs: add conditions for calling TearDown() --- docs/advanced.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/advanced.md b/docs/advanced.md index 0e1f812..8e1df2a 100644 --- a/docs/advanced.md +++ b/docs/advanced.md @@ -1006,9 +1006,12 @@ Environment* AddGlobalTestEnvironment(Environment* env); Now, when `RUN_ALL_TESTS()` is called, it first calls the `SetUp()` method of each environment object, then runs the tests if none of the environments -reported fatal failures and `GTEST_SKIP()` was not called. `RUN_ALL_TESTS()` -always calls `TearDown()` with each environment object, regardless of whether or -not the tests were run. +reported fatal failures and `GTEST_SKIP()` was not called. + +RUN_ALL_TESTS() calls TearDown() for each environment object when they are recreated +for each iteration. However, if the test environments are not recreated for each iteration, +TearDown() is called only on the last iteration. +Additionally, TearDown() is executed regardless of whether the tests were run or not. 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 -- cgit v1.1